From b197cd41607a8cfde28fbe544d2b92ea7d8a676c Mon Sep 17 00:00:00 2001 From: Ryan Ashcraft Date: Tue, 12 Mar 2024 13:21:22 -0400 Subject: [PATCH] #72 :bug: remove custom monorepo group to allow transitive dependencies to work more seamlessly --- README.md | 8 +- .../habushu/BuildDeploymentArtifactsMojo.java | 27 +--- .../CustomMonorepoGroupMigration.java | 147 ------------------ .../src/main/resources/migrations.json | 9 -- .../migration/MonorepoMigrationSteps.java | 112 ------------- .../no-monorepo-dependencies-present.toml | 16 -- ...ependencies-already-in-monorepo-group.toml | 21 --- .../with-dependencies-in-both-groups.toml | 22 --- .../with-dependencies-no-monorepo-group.toml | 18 --- .../monorepo-migrations.feature | 23 --- habushu-mixology-consumer/pyproject.toml | 2 +- habushu-mixology/pyproject.toml | 2 +- 12 files changed, 7 insertions(+), 400 deletions(-) delete mode 100644 habushu-maven-plugin/src/main/java/org/technologybrewery/habushu/migration/CustomMonorepoGroupMigration.java delete mode 100644 habushu-maven-plugin/src/test/java/org/technologybrewery/habushu/migration/MonorepoMigrationSteps.java delete mode 100644 habushu-maven-plugin/src/test/resources/migration/monorepo/no-monorepo-dependencies-present.toml delete mode 100644 habushu-maven-plugin/src/test/resources/migration/monorepo/with-dependencies-already-in-monorepo-group.toml delete mode 100644 habushu-maven-plugin/src/test/resources/migration/monorepo/with-dependencies-in-both-groups.toml delete mode 100644 habushu-maven-plugin/src/test/resources/migration/monorepo/with-dependencies-no-monorepo-group.toml delete mode 100644 habushu-maven-plugin/src/test/resources/specifications/monorepo-migrations.feature diff --git a/README.md b/README.md index 69c7f10..dee0bff 100644 --- a/README.md +++ b/README.md @@ -303,10 +303,10 @@ Habushu will replace invocations of Poetry's `build` and `publish` commands with `poetry-monorepo-dependency-plugin`, which are `build-rewrite-path-deps` and `publish-rewrite-path-deps`, respectively. To further ease working with monorepo dependencies, Habushu will specially handle how these dependencies are written to -intermediate `requirements.txt` exports if they are included in the `[tool.poetry.group.monorepo.dependencies]` group -within your `pyproject.toml` file. In this case, the dependencies will be excluded from the export unless `rewriteLocalPathDepsInArchives` -is set to true. This feature can be useful if installing the exported `requirements.txt` on another machine and/or -Docker container. If a monorepo dependency is not included in this specific group, it will be exported with a local path. +intermediate `requirements.txt` exports. In this case, the dependencies will be excluded from the export unless +`rewriteLocalPathDepsInArchives` is set to true. This feature can be useful if installing the exported +`requirements.txt` on another machine and/or Docker container. If a monorepo dependency is not included in this +specific group, it will be exported with a local path. Typically, this flag will only be `true` when deploying/releasing Habushu modules within a CI environment that are part of a monorepo project structure which multiple Poetry projects depend on one another. diff --git a/habushu-maven-plugin/src/main/java/org/technologybrewery/habushu/BuildDeploymentArtifactsMojo.java b/habushu-maven-plugin/src/main/java/org/technologybrewery/habushu/BuildDeploymentArtifactsMojo.java index 170b8dd..7ede922 100644 --- a/habushu-maven-plugin/src/main/java/org/technologybrewery/habushu/BuildDeploymentArtifactsMojo.java +++ b/habushu-maven-plugin/src/main/java/org/technologybrewery/habushu/BuildDeploymentArtifactsMojo.java @@ -39,7 +39,6 @@ @Mojo(name = "build-deployment-artifacts", defaultPhase = LifecyclePhase.PACKAGE) public class BuildDeploymentArtifactsMojo extends AbstractHabushuMojo { - public static final String TOOL_POETRY_GROUP_MONOREPO_DEPENDENCIES = "tool.poetry.group.monorepo.dependencies"; /** * By default, export requirements.txt file. */ @@ -96,7 +95,6 @@ public void doExecute() throws MojoExecutionException, MojoFailureException { if (exportRequirementsFile) { getLog().info("Exporting requirements.txt file..."); - String outputFile = exportRequirementsFolder + "/requirements.txt"; File directory = new File(exportRequirementsFolder); if (!directory.exists()) { directory.mkdir(); @@ -105,15 +103,9 @@ public void doExecute() throws MojoExecutionException, MojoFailureException { List command = new ArrayList<>(); command.add("export"); command.add("--output"); + String outputFile = exportRequirementsFolder + "/requirements.txt"; command.add(outputFile); - List customPoetryToolGroups = findCustomToolPoetryGroups(); - if (!rewriteLocalPathDepsInArchives && customPoetryToolGroups.contains(TOOL_POETRY_GROUP_MONOREPO_DEPENDENCIES)) { - command.add("--without"); - command.add("monorepo"); - logLocalMonorepoCaveats(); - } - if (!exportRequirementsWithHashes) { command.add("--without-hashes"); @@ -129,23 +121,6 @@ public void doExecute() throws MojoExecutionException, MojoFailureException { } } - private void logLocalMonorepoCaveats() { - getLog().info(String.format("Excluding [%s] to prevent path references in requirements.txt", - TOOL_POETRY_GROUP_MONOREPO_DEPENDENCIES)); - getLog().info("The following dependencies must be install manually if using requirements.txt (e.g., pip install needed-dependency.whl):"); - - try (FileConfig pyProjectConfig = FileConfig.of(getPoetryPyProjectTomlFile())) { - pyProjectConfig.load(); - Optional packageSources = pyProjectConfig.getOptional(TOOL_POETRY_GROUP_MONOREPO_DEPENDENCIES); - if (packageSources.isPresent()) { - Config monoRepoDependencies = packageSources.get(); - for (String dependencyKey : monoRepoDependencies.valueMap().keySet()) { - getLog().info(String.format("\t- %s", dependencyKey)); - } - } - } - } - protected void setUpPlaceholderFileAsMavenArtifact() { mavenArtifactFile.getParentFile().mkdirs(); try (PrintWriter writer = new PrintWriter(mavenArtifactFile)) { diff --git a/habushu-maven-plugin/src/main/java/org/technologybrewery/habushu/migration/CustomMonorepoGroupMigration.java b/habushu-maven-plugin/src/main/java/org/technologybrewery/habushu/migration/CustomMonorepoGroupMigration.java deleted file mode 100644 index 6fe577d..0000000 --- a/habushu-maven-plugin/src/main/java/org/technologybrewery/habushu/migration/CustomMonorepoGroupMigration.java +++ /dev/null @@ -1,147 +0,0 @@ -package org.technologybrewery.habushu.migration; - -import com.electronwill.nightconfig.core.CommentedConfig; -import com.electronwill.nightconfig.core.Config; -import com.electronwill.nightconfig.core.file.FileConfig; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.technologybrewery.baton.AbstractMigration; -import org.technologybrewery.baton.BatonException; -import org.technologybrewery.habushu.HabushuException; -import org.technologybrewery.habushu.util.TomlReplacementTuple; -import org.technologybrewery.habushu.util.TomlUtils; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; - -/** - * Automatically migrates any monorepo dependencies (e.g., foo = {path = "../foo", develop = true}) in the main - * [tool.poetry.dependencies] group into the [tool.poetry.group.monorepo.dependencies] group instead. As noted in the - * project's README.md, this prevents these dependencies from causing issues when Poetry projects are exported in - * development releases. - */ -public class CustomMonorepoGroupMigration extends AbstractMigration { - - public static final Logger logger = LoggerFactory.getLogger(CustomMonorepoGroupMigration.class); - - protected Map replacements = new HashMap<>(); - - protected boolean hasExistingMonoRepoDependenciesGroup; - - @Override - protected boolean shouldExecuteOnFile(File file) { - replacements.clear(); - hasExistingMonoRepoDependenciesGroup = false; - - boolean shouldExecute = false; - try (FileConfig tomlFileConfig = FileConfig.of(file)) { - tomlFileConfig.load(); - - Optional toolPoetryDependencies = tomlFileConfig.getOptional(TomlUtils.TOOL_POETRY_DEPENDENCIES); - if (toolPoetryDependencies.isPresent()) { - Config foundDependencies = toolPoetryDependencies.get(); - Map dependencyMap = foundDependencies.valueMap(); - - for (Map.Entry dependency : dependencyMap.entrySet()) { - String packageName = dependency.getKey(); - Object packageRhs = dependency.getValue(); - if (TomlUtils.representsLocalDevelopmentVersion(packageRhs)) { - String packageRshAsString = TomlUtils.convertCommentedConfigToToml((CommentedConfig) packageRhs); - logger.info("Found local dependency not within monorepo group! ({} = {})", packageName, packageRshAsString); - TomlReplacementTuple replacementTuple = new TomlReplacementTuple(packageName, packageRshAsString, ""); - replacements.put(packageName, replacementTuple); - shouldExecute = true; - } - } - } - - Optional toolPoetryMonorepoDependencies = tomlFileConfig.getOptional(TomlUtils.TOOL_POETRY_GROUP_MONOREPO_DEPENDENCIES); - if (toolPoetryMonorepoDependencies.isPresent()) { - hasExistingMonoRepoDependenciesGroup = true; - } - } - - return shouldExecute; - } - - @Override - protected boolean performMigration(File pyProjectTomlFile) { - String fileContent = StringUtils.EMPTY; - try (BufferedReader reader = new BufferedReader(new FileReader(pyProjectTomlFile))) { - String line = reader.readLine(); - boolean injectAfterNextEmptyLine = false; - - while (line != null) { - boolean addLine = true; - boolean isEmptyLine = line.isBlank(); - - if (line.contains(StringUtils.SPACE) && line.contains(TomlUtils.EQUALS)) { - String key = line.substring(0, line.indexOf(StringUtils.SPACE)); - - if (key == null) { - key = line.substring(0, line.indexOf(TomlUtils.EQUALS)); - } - - if (key != null) { - key = key.strip(); - - TomlReplacementTuple matchedTuple = replacements.get(key); - if (matchedTuple != null) { - // skip this line, we will add it back to [tool.poetry.group.monorepo.dependencies] later - addLine = false; - } - } - - } else if (line.contains("[") && line.contains("]")) { - String key = line.strip(); - - if (hasExistingMonoRepoDependenciesGroup && (key.equals("[" + TomlUtils.TOOL_POETRY_GROUP_MONOREPO_DEPENDENCIES + "]"))) { - // skip this line as we are overriding with the line plus monorepo dependencies here: - addLine = false; - fileContent += line + "\n"; - fileContent = injectMonorepoDependencies(fileContent); - } else if (!hasExistingMonoRepoDependenciesGroup && (key.equals("[" + TomlUtils.TOOL_POETRY_DEPENDENCIES + "]"))) { - injectAfterNextEmptyLine = true; - } - } - - if (isEmptyLine && injectAfterNextEmptyLine) { - fileContent += "\n[" + TomlUtils.TOOL_POETRY_GROUP_MONOREPO_DEPENDENCIES + "]" + "\n"; - fileContent = injectMonorepoDependencies(fileContent); - injectAfterNextEmptyLine = false; - } - - if (addLine) { - fileContent += line + "\n"; - } - - line = reader.readLine(); - } - - } catch (IOException e) { - throw new HabushuException("Problem reading pyproject.toml to update with managed dependencies!", e); - } - - try { - TomlUtils.writeTomlFile(pyProjectTomlFile, fileContent); - } catch (IOException e) { - throw new BatonException("Problem moving monorepo dependencies to [tool.poetry.group.monorepo.dependencies]!", e); - } - - return true; - - } - - private String injectMonorepoDependencies(String fileContent) { - for (Map.Entry entry : replacements.entrySet()) { - fileContent += entry.getKey() + " = " + TomlUtils.escapeTomlRightHandSide(entry.getValue().getOriginalOperatorAndVersion()) + "\n"; - } - return fileContent; - } -} diff --git a/habushu-maven-plugin/src/main/resources/migrations.json b/habushu-maven-plugin/src/main/resources/migrations.json index b937f74..9fdfc70 100644 --- a/habushu-maven-plugin/src/main/resources/migrations.json +++ b/habushu-maven-plugin/src/main/resources/migrations.json @@ -1,13 +1,4 @@ [ - { - "name": "custom-monorepo-group-migration", - "implementation": "org.technologybrewery.habushu.migration.CustomMonorepoGroupMigration", - "fileSets": [ - { - "includes": ["pyproject.toml"] - } - ] - }, { "name": "custom-poetry-core-version-migration", "implementation": "org.technologybrewery.habushu.migration.CustomPoetrycoreVersionMigration", diff --git a/habushu-maven-plugin/src/test/java/org/technologybrewery/habushu/migration/MonorepoMigrationSteps.java b/habushu-maven-plugin/src/test/java/org/technologybrewery/habushu/migration/MonorepoMigrationSteps.java deleted file mode 100644 index 4884002..0000000 --- a/habushu-maven-plugin/src/test/java/org/technologybrewery/habushu/migration/MonorepoMigrationSteps.java +++ /dev/null @@ -1,112 +0,0 @@ -package org.technologybrewery.habushu.migration; - -import com.electronwill.nightconfig.core.Config; -import com.electronwill.nightconfig.core.file.FileConfig; -import io.cucumber.java.en.Given; -import io.cucumber.java.en.Then; -import io.cucumber.java.en.When; -import org.technologybrewery.habushu.util.TomlUtils; - -import java.io.File; -import java.util.Map; -import java.util.Optional; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; - -public class MonorepoMigrationSteps { - - private File testTomlFileDirectory = new File("./target/test-classes/migration/monorepo"); - private File pyProjectToml; - - private boolean shouldExecute; - - private boolean executionSucceeded; - - @Given("an existing pyproject.toml file with two monorepo dependencies in the tool.poetry.dependencies group") - public void an_existing_pyproject_toml_file_with_two_monorepo_dependencies_in_the_tool_poetry_dependencies_group() { - pyProjectToml = new File(testTomlFileDirectory, "with-dependencies-no-monorepo-group.toml"); - } - - @Given("an existing pyproject.toml file with two monorepo dependencies each in the tool.poetry.dependencies and tool.poetry.group.monorepo.dependencies groups") - public void an_existing_pyproject_toml_file_with_two_monorepo_dependencies_each_in_the_tool_poetry_dependencies_and_tool_poetry_group_monorepo_dependencies_groups() { - pyProjectToml = new File(testTomlFileDirectory, "with-dependencies-in-both-groups.toml"); - } - - @Given("an existing pyproject.toml without any monorepo dependencies") - public void an_existing_pyproject_toml_without_any_monorepo_dependencies() { - pyProjectToml = new File(testTomlFileDirectory, "no-monorepo-dependencies-present.toml"); - } - - - @Given("an existing pyproject.toml file with three monorepo dependencies already in the tool.poetry.group.monorepo.dependencies group") - public void an_existing_pyproject_toml_file_with_three_monorepo_dependencies_already_in_the_tool_poetry_group_monorepo_dependencies_group() { - pyProjectToml = new File(testTomlFileDirectory, "with-dependencies-already-in-monorepo-group.toml"); - } - - @When("Habushu migrations execute") - public void habushu_migrations_execute() { - CustomMonorepoGroupMigration migration = new CustomMonorepoGroupMigration(); - shouldExecute = migration.shouldExecuteOnFile(pyProjectToml); - executionSucceeded = (shouldExecute) ? migration.performMigration(pyProjectToml) : false; - } - - @Then("{int} pyproject.toml monorepo dependencies exist in the tool.poetry.group.monorepo.dependencies group") - public void pyproject_toml_monorepo_dependencies_exist_in_the_tool_poetry_group_monorepo_dependencies_group(Integer expectedMonorepoGroupDependencies) { - verifyExeuctionOccurred(); - try (FileConfig tomlFileConfig = FileConfig.of(pyProjectToml)) { - tomlFileConfig.load(); - - Optional toolPoetryMonorepoDependencies = tomlFileConfig.getOptional(TomlUtils.TOOL_POETRY_GROUP_MONOREPO_DEPENDENCIES); - int numberOfMonorepoDependenciesInMonorepoGroup = getNumberOfMonorepoChildren(toolPoetryMonorepoDependencies); - assertEquals(expectedMonorepoGroupDependencies, numberOfMonorepoDependenciesInMonorepoGroup, - expectedMonorepoGroupDependencies + " monorepo dependencies should exist in monorepo group!"); - - - } - } - @Then("{int} pyproject.toml monorepo dependencies exist in the tool.poetry.dependencies group") - public void pyproject_toml_monorepo_dependencies_exist_in_the_tool_poetry_dependencies_group(Integer expectedMainGroupDependencies) { - verifyExeuctionOccurred(); - try (FileConfig tomlFileConfig = FileConfig.of(pyProjectToml)) { - tomlFileConfig.load(); - - Optional toolPoetryDependencies = tomlFileConfig.getOptional(TomlUtils.TOOL_POETRY_DEPENDENCIES); - int numberOfMonorepoDependenciesInMainGroup = getNumberOfMonorepoChildren(toolPoetryDependencies); - assertEquals(expectedMainGroupDependencies, numberOfMonorepoDependenciesInMainGroup, - expectedMainGroupDependencies + " monorepo dependencies should remain in main group!"); - } - } - - @Then("no migration was performed") - public void no_migration_was_performed() { - assertFalse(shouldExecute, "Migration execution should have been skipped!"); - } - - - private static int getNumberOfMonorepoChildren(Optional tomlElement) { - int numberOfMonorepoDependencies = 0; - if (tomlElement.isPresent()) { - Config foundDependencies = tomlElement.get(); - Map dependencyMap = foundDependencies.valueMap(); - - for (Map.Entry dependency : dependencyMap.entrySet()) { - String packageName = dependency.getKey(); - Object packageRhs = dependency.getValue(); - if (TomlUtils.representsLocalDevelopmentVersion(packageRhs)) { - numberOfMonorepoDependencies++; - } - } - } - - return numberOfMonorepoDependencies; - } - - - private void verifyExeuctionOccurred() { - assertTrue(shouldExecute, "Migration should have been selected to execute!"); - assertTrue(executionSucceeded, "Migration should have executed successfully!"); - } - -} diff --git a/habushu-maven-plugin/src/test/resources/migration/monorepo/no-monorepo-dependencies-present.toml b/habushu-maven-plugin/src/test/resources/migration/monorepo/no-monorepo-dependencies-present.toml deleted file mode 100644 index 7ff8c7e..0000000 --- a/habushu-maven-plugin/src/test/resources/migration/monorepo/no-monorepo-dependencies-present.toml +++ /dev/null @@ -1,16 +0,0 @@ -[tool.poetry] -name = "no-monorepo-dependencies-present" -version = "2.9.0.dev" -description = "Test monorepo migration does not impact toml file with no applicable changes" -authors = ["Test "] -license = "MIT License" - -[tool.poetry.dependencies] -python = "^3.11" - -[tool.poetry.dev-dependencies] -black = "^18.0.0" - -[build-system] -requires = ["poetry-core>=1.6.0"] -build-backend = "poetry.core.masonry.api" diff --git a/habushu-maven-plugin/src/test/resources/migration/monorepo/with-dependencies-already-in-monorepo-group.toml b/habushu-maven-plugin/src/test/resources/migration/monorepo/with-dependencies-already-in-monorepo-group.toml deleted file mode 100644 index 75ae26b..0000000 --- a/habushu-maven-plugin/src/test/resources/migration/monorepo/with-dependencies-already-in-monorepo-group.toml +++ /dev/null @@ -1,21 +0,0 @@ -[tool.poetry] -name = "with-dependencies-already-in-monorepo-group" -version = "2.9.0.dev" -description = "Test moving monorepo dependecies when monorepo group already exists and no more chages are needed" -authors = ["Test "] -license = "MIT License" - -[tool.poetry.dependencies] -python = "^3.11" - -[tool.poetry.group.monorepo.dependencies] -some-local-monorepo-dependencies-1 = {path = "../some-local-monorepo-dependencies-1", develop = true} -some-local-monorepo-dependencies-2 = {path = "../some-local-monorepo-dependencies-2", develop = true} -some-local-monorepo-dependencies-3 = {path = "../some-local-monorepo-dependencies-3", develop = true} - -[tool.poetry.dev-dependencies] -black = "^18.0.0" - -[build-system] -requires = ["poetry-core>=1.6.0"] -build-backend = "poetry.core.masonry.api" diff --git a/habushu-maven-plugin/src/test/resources/migration/monorepo/with-dependencies-in-both-groups.toml b/habushu-maven-plugin/src/test/resources/migration/monorepo/with-dependencies-in-both-groups.toml deleted file mode 100644 index 2829763..0000000 --- a/habushu-maven-plugin/src/test/resources/migration/monorepo/with-dependencies-in-both-groups.toml +++ /dev/null @@ -1,22 +0,0 @@ -[tool.poetry] -name = "with-dependencies-is-both-groups" -version = "2.9.0.dev" -description = "Test moving monorepo dependecies from main to monorepo group when monorepo group already exists" -authors = ["Test "] -license = "MIT License" - -[tool.poetry.dependencies] -python = "^3.11" -some-local-monorepo-dependencies-1 = {path = "../some-local-monorepo-dependencies-1", develop = true} -some-local-monorepo-dependencies-2 = {path = "../some-local-monorepo-dependencies-2", develop = true} - -[tool.poetry.group.monorepo.dependencies] -some-local-monorepo-dependencies-3 = {path = "../some-local-monorepo-dependencies-3", develop = true} -some-local-monorepo-dependencies-4 = {path = "../some-local-monorepo-dependencies-4", develop = true} - -[tool.poetry.dev-dependencies] -black = "^18.0.0" - -[build-system] -requires = ["poetry-core>=1.6.0"] -build-backend = "poetry.core.masonry.api" diff --git a/habushu-maven-plugin/src/test/resources/migration/monorepo/with-dependencies-no-monorepo-group.toml b/habushu-maven-plugin/src/test/resources/migration/monorepo/with-dependencies-no-monorepo-group.toml deleted file mode 100644 index dde98b2..0000000 --- a/habushu-maven-plugin/src/test/resources/migration/monorepo/with-dependencies-no-monorepo-group.toml +++ /dev/null @@ -1,18 +0,0 @@ -[tool.poetry] -name = "with-dependencies-no-monorepo-group" -version = "2.9.0.dev" -description = "Test moving monorepo dependecies from main to monorepo group" -authors = ["Test "] -license = "MIT License" - -[tool.poetry.dependencies] -python = "^3.11" -some-local-monorepo-dependencies-1 = {path = "../some-local-monorepo-dependencies-1", develop = true} -some-local-monorepo-dependencies-2 = {path = "../some-local-monorepo-dependencies-2", develop = true} - -[tool.poetry.dev-dependencies] -black = "^18.0.0" - -[build-system] -requires = ["poetry-core>=1.6.0"] -build-backend = "poetry.core.masonry.api" diff --git a/habushu-maven-plugin/src/test/resources/specifications/monorepo-migrations.feature b/habushu-maven-plugin/src/test/resources/specifications/monorepo-migrations.feature deleted file mode 100644 index da4bf80..0000000 --- a/habushu-maven-plugin/src/test/resources/specifications/monorepo-migrations.feature +++ /dev/null @@ -1,23 +0,0 @@ -Feature: Test automatic migration of monorepo dependencies into their own pyproject.toml group - - Scenario: Migrate monorepo dependencies when existing monorepo group DOES NOT exists - Given an existing pyproject.toml file with two monorepo dependencies in the tool.poetry.dependencies group - When Habushu migrations execute - Then 2 pyproject.toml monorepo dependencies exist in the tool.poetry.group.monorepo.dependencies group - And 0 pyproject.toml monorepo dependencies exist in the tool.poetry.dependencies group - - Scenario: Migrate monorepo dependencies when existing monorepo group DOES exists - Given an existing pyproject.toml file with two monorepo dependencies each in the tool.poetry.dependencies and tool.poetry.group.monorepo.dependencies groups - When Habushu migrations execute - Then 4 pyproject.toml monorepo dependencies exist in the tool.poetry.group.monorepo.dependencies group - And 0 pyproject.toml monorepo dependencies exist in the tool.poetry.dependencies group - - Scenario: Migrate monorepo dependencies does not change a file with non applicable dependencies - Given an existing pyproject.toml without any monorepo dependencies - When Habushu migrations execute - Then no migration was performed - - Scenario: Migrate monorepo dependencies does not change a file with all monorepo dependencies already in monorepo group - Given an existing pyproject.toml file with three monorepo dependencies already in the tool.poetry.group.monorepo.dependencies group - When Habushu migrations execute - Then no migration was performed \ No newline at end of file diff --git a/habushu-mixology-consumer/pyproject.toml b/habushu-mixology-consumer/pyproject.toml index 4990c50..06b1a3a 100644 --- a/habushu-mixology-consumer/pyproject.toml +++ b/habushu-mixology-consumer/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "habushu_mixology_consumer" -version = "2.11.1" +version = "2.12.0.dev" description = "Example of how to use the habushu-maven-plugin to consume other Habushu modules" authors = ["Eric Konieczny "] license = "MIT License" diff --git a/habushu-mixology/pyproject.toml b/habushu-mixology/pyproject.toml index ac2e371..2d6b52e 100644 --- a/habushu-mixology/pyproject.toml +++ b/habushu-mixology/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "habushu_mixology" -version = "2.11.1" +version = "2.12.0.dev" description = "Example of how to use the habushu-maven-plugin" authors = ["Eric Konieczny "] license = "MIT License"