diff --git a/.github/util/re-version.sh b/.github/util/re-version.sh index e0ce494adba..16bcaecee6f 100755 --- a/.github/util/re-version.sh +++ b/.github/util/re-version.sh @@ -43,7 +43,7 @@ mkdir -p $outdir (cd $scriptDir && javac ManifestReversion.java) #### Update jars -declare -a jars=("liquibase-0-SNAPSHOT.jar" "liquibase-0-SNAPSHOT-sources.jar" "liquibase-cdi-0-SNAPSHOT.jar" "liquibase-cdi-0-SNAPSHOT-sources.jar" "liquibase-maven-plugin-0-SNAPSHOT.jar" "liquibase-maven-plugin-0-SNAPSHOT-sources.jar") +declare -a jars=("liquibase-core-0-SNAPSHOT.jar" "liquibase-core-0-SNAPSHOT-sources.jar" "liquibase-commercial-0-SNAPSHOT.jar" "liquibase-cdi-0-SNAPSHOT.jar" "liquibase-cdi-0-SNAPSHOT-sources.jar" "liquibase-maven-plugin-0-SNAPSHOT.jar" "liquibase-maven-plugin-0-SNAPSHOT-sources.jar") for jar in "${jars[@]}" do @@ -51,14 +51,14 @@ do unzip -q $workdir/$jar META-INF/* -d $workdir java -cp $scriptDir ManifestReversion $workdir/META-INF/MANIFEST.MF $version - find $workdir/META-INF -name pom.xml -exec sed -i -e "s/0-SNAPSHOT<\/version>/$version<\/version>/" {} \; - find $workdir/META-INF -name pom.properties -exec sed -i -e "s/0-SNAPSHOT/$version/" {} \; - find $workdir/META-INF -name plugin*.xml -exec sed -i -e "s/0-SNAPSHOT<\/version>/$version<\/version>/" {} \; + find $workdir/META-INF -name pom.xml -exec sed -i -e "s/0-SNAPSHOT<\/version>/$version<\/version>/g" {} \; + find $workdir/META-INF -name pom.properties -exec sed -i -e "s/0-SNAPSHOT/$version/g" {} \; + find $workdir/META-INF -name plugin*.xml -exec sed -i -e "s/0-SNAPSHOT<\/version>/$version<\/version>/g" {} \; (cd $workdir && jar -uMf $jar META-INF) rm -rf $workdir/META-INF ## Fix up liquibase.build.properties - if [ $jar == "liquibase-0-SNAPSHOT.jar" ]; then + if [[ $jar == "liquibase-core-0-SNAPSHOT.jar" || $jar == "liquibase-commercial-0-SNAPSHOT.jar" ]]; then unzip -q $workdir/$jar liquibase.build.properties -d $workdir sed -i -e "s/build.version=.*/build.version=$version/" $workdir/liquibase.build.properties (cd $workdir && jar -uf $jar liquibase.build.properties) @@ -79,15 +79,15 @@ do done #### Update javadoc jars -declare -a javadocJars=("liquibase-0-SNAPSHOT-javadoc.jar" "liquibase-cdi-0-SNAPSHOT-javadoc.jar" "liquibase-maven-plugin-0-SNAPSHOT-javadoc.jar") +declare -a javadocJars=("liquibase-core-0-SNAPSHOT-javadoc.jar" "liquibase-cdi-0-SNAPSHOT-javadoc.jar" "liquibase-maven-plugin-0-SNAPSHOT-javadoc.jar") for jar in "${javadocJars[@]}" do mkdir $workdir/rebuild unzip -q $workdir/$jar -d $workdir/rebuild - find $workdir/rebuild -name "*.html" -exec sed -i -e "s/0-SNAPSHOT/$version/" {} \; - find $workdir/rebuild -name "*.xml" -exec sed -i -e "s/0-SNAPSHOT<\/version>/$version<\/version>/" {} \; + find $workdir/rebuild -name "*.html" -exec sed -i -e "s/0-SNAPSHOT/$version/g" {} \; + find $workdir/rebuild -name "*.xml" -exec sed -i -e "s/0-SNAPSHOT<\/version>/$version<\/version>/g" {} \; (cd $workdir/rebuild && jar -uf ../$jar *) rm -rf $workdir/rebuild @@ -132,12 +132,15 @@ done ##### update zip/tar files -cp $outdir/liquibase-$version.jar $workdir/liquibase.jar ##save versioned jar as unversioned to include in zip/tar +mkdir -p $workdir/internal/lib +cp $outdir/liquibase-core-$version.jar $workdir/internal/lib/liquibase-core.jar ##save versioned jar as unversioned to include in zip/tar +cp $outdir/liquibase-commercial-$version.jar $workdir/internal/lib/liquibase-commercial.jar ##save versioned jar as unversioned to include in zip/tar ## Extract tar.gz and rebuild it back into the tar.gz and zip mkdir $workdir/tgz-repackage (cd $workdir/tgz-repackage && tar -xzf $workdir/liquibase-0-SNAPSHOT.tar.gz) -cp $workdir/liquibase.jar $workdir/tgz-repackage/liquibase.jar +cp $workdir/internal/lib/liquibase-core.jar $workdir/tgz-repackage/internal/lib/liquibase-core.jar +cp $workdir/internal/lib/liquibase-commercial.jar $workdir/tgz-repackage/internal/lib/liquibase-commercial.jar find $workdir/tgz-repackage -name "*.txt" -exec sed -i -e "s/0-SNAPSHOT/$version/" {} \; (cd $workdir/tgz-repackage && tar -czf $outdir/liquibase-$version.tar.gz *) (cd $workdir/tgz-repackage && zip -qr $outdir/liquibase-$version.zip *) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 41009e94382..a069fd914b1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -320,22 +320,22 @@ jobs: env: GPG_PASSWORD: ${{ secrets.GPG_PASSPHRASE }} - - name: Download liquibase-pro + - name: Download liquibase-commercial uses: liquibase/action-download-artifact@v2-liquibase with: github_token: ${{ secrets.BOT_TOKEN }} workflow: build.yml workflow_conclusion: success branch: "${{ needs.setup.outputs.proBranchName }}" - name: liquibase-pro-modules - path: download/liquibase-pro + name: liquibase-commercial-modules + path: download/liquibase-commercial repo: liquibase/liquibase-pro - name: Install Built Modules run: | (find . -name *-SNAPSHOT.jar -exec mvn -B org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile={} \;) (find . -name *-SNAPSHOT-sources.jar -exec mvn -B org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dclassifier=sources -Dfile={} \;) - mvn -B org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile=download/liquibase-pro/liquibase-pro-0-SNAPSHOT.jar + mvn -B org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile=download/liquibase-commercial/liquibase-commercial-0-SNAPSHOT.jar - name: Build & Sign Artifacts env: @@ -355,7 +355,7 @@ jobs: echo "Saving windows key" echo "$INSTALL4J_WINDOWS_KEY" | base64 -d > liquibase-dist/target/keys/datical_windows.pfx - mvn -B -pl liquibase-dist -P liquibase-pro source:jar package + mvn -B -pl liquibase-dist -P liquibase-commercial source:jar package ## extract tar content for other artifacts mkdir -p liquibase-dist/target/liquibase-0-SNAPSHOT @@ -372,8 +372,11 @@ jobs: mkdir -p artifacts cp liquibase-dist/target/liquibase-0-SNAPSHOT.tar.gz artifacts cp liquibase-dist/target/liquibase-0-SNAPSHOT.zip artifacts - cp liquibase-dist/target/liquibase-0-SNAPSHOT.jar artifacts - cp liquibase-dist/target/liquibase-0-SNAPSHOT-sources.jar artifacts + + cp liquibase-dist/target/liquibase-0-SNAPSHOT.jar artifacts/liquibase-core-0-SNAPSHOT.jar + cp liquibase-dist/target/liquibase-0-SNAPSHOT-sources.jar artifacts/liquibase-core-0-SNAPSHOT-sources.jar + cp target/liquibase-0-SNAPSHOT-javadoc.jar artifacts/liquibase-core-0-SNAPSHOT-javadoc.jar + cp liquibase-dist/target/liquibase-*-installer-* artifacts cp liquibase-maven-plugin/target/liquibase-maven-plugin-0-SNAPSHOT.jar artifacts @@ -383,19 +386,29 @@ jobs: cp liquibase-cdi/target/liquibase-cdi-0-SNAPSHOT.jar artifacts cp liquibase-cdi/target/liquibase-cdi-0-SNAPSHOT-sources.jar artifacts cp liquibase-cdi/target/liquibase-cdi-0-SNAPSHOT-javadoc.jar artifacts + + + echo "Source code not available for liquibase-commercial" > /tmp/readme.source.txt + (cd /tmp && jar cf liquibase-commercial-0-SNAPSHOT-sources.jar readme.source.txt) - cp target/liquibase-0-SNAPSHOT-javadoc.jar artifacts + echo "Javadocs not available for liquibase-commercial" > /tmp/readme.javadocs.txt + (cd /tmp && jar cf liquibase-commercial-0-SNAPSHOT-javadoc.jar readme.javadocs.txt) + + cp download/liquibase-commercial/liquibase-commercial-0-SNAPSHOT.jar artifacts + cp /tmp/liquibase-commercial-0-SNAPSHOT-sources.jar artifacts + cp /tmp/liquibase-commercial-0-SNAPSHOT-javadoc.jar artifacts .github/util/sign-artifacts.sh artifacts ##prepare branch-named convenience artifacts directories mkdir artifacts-named cp liquibase-dist/target/liquibase-0-SNAPSHOT.tar.gz artifacts-named/liquibase-${{ needs.setup.outputs.thisBranchFileName }}.tar.gz - cp liquibase-dist/target/liquibase-0-SNAPSHOT.jar artifacts-named/liquibase-${{ needs.setup.outputs.thisBranchFileName }}.jar + cp liquibase-dist/target/liquibase-0-SNAPSHOT.jar artifacts-named/liquibase-core-${{ needs.setup.outputs.thisBranchFileName }}.jar cp liquibase-maven-plugin/target/liquibase-maven-plugin-0-SNAPSHOT.jar artifacts-named/liquibase-maven-plugin-${{ needs.setup.outputs.thisBranchFileName }}.jar cp liquibase-cdi/target/liquibase-cdi-0-SNAPSHOT.jar artifacts-named/liquibase-cdi-${{ needs.setup.outputs.thisBranchFileName }}.jar cp liquibase-extension-testing/target/liquibase-extension-testing-0-SNAPSHOT.jar artifacts-named/liquibase-extension-testing-${{ needs.setup.outputs.thisBranchFileName }}.jar cp liquibase-extension-testing/target/liquibase-extension-testing-0-SNAPSHOT-deps.jar artifacts-named/liquibase-extension-testing-${{ needs.setup.outputs.thisBranchFileName }}-deps.jar + cp download/liquibase-commercial/liquibase-commercial-0-SNAPSHOT.jar artifacts-named/liquibase-commercial-${{ needs.setup.outputs.thisBranchFileName }}.jar - name: Archive Packages uses: actions/upload-artifact@v3 @@ -474,7 +487,7 @@ jobs: } if (failedCheckingUs) { - console.log("Rerun liquibase-pro that was waiting on us"); + console.log("Rerun liquibase-commercial that was waiting on us"); //octokit removed the retryWorkflow function github.request("POST "+currentBranchInfo.runRerunUrl); diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index fc2ac85a069..8700553e7e5 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -73,7 +73,8 @@ jobs: .github/util/sign-artifacts.sh re-version/out mkdir re-version/final - mv re-version/out/liquibase-${{ needs.setup.outputs.version }}.jar re-version/final + mv re-version/out/liquibase-core-${{ needs.setup.outputs.version }}.jar re-version/final + mv re-version/out/liquibase-commercial-${{ needs.setup.outputs.version }}.jar re-version/final mv re-version/out/liquibase-${{ needs.setup.outputs.version }}.tar.gz re-version/final mv re-version/out/liquibase-${{ needs.setup.outputs.version }}.zip re-version/final diff --git a/.github/workflows/release-published.yml b/.github/workflows/release-published.yml index 29624390e0b..2f43af60a3c 100644 --- a/.github/workflows/release-published.yml +++ b/.github/workflows/release-published.yml @@ -73,9 +73,9 @@ jobs: unzip liquibase-additional-*.zip ##extracts and sign poms - unzip -j liquibase-${version}.jar META-INF/maven/org.liquibase/liquibase-core/pom.xml - mv pom.xml liquibase-${version}.pom - gpg --batch --pinentry-mode=loopback --passphrase "$GPG_PASSWORD" -ab liquibase-${version}.pom + unzip -j liquibase-core-${version}.jar META-INF/maven/org.liquibase/liquibase-core/pom.xml + mv pom.xml liquibase-core-${version}.pom + gpg --batch --pinentry-mode=loopback --passphrase "$GPG_PASSWORD" -ab liquibase-core-${version}.pom unzip -j liquibase-maven-plugin-${version}.jar META-INF/maven/org.liquibase/liquibase-maven-plugin/pom.xml mv pom.xml liquibase-maven-plugin-${version}.pom @@ -87,15 +87,31 @@ jobs: sed -i -e "s//Liquibase CDI Plugin<\/name>/" liquibase-cdi-${version}.pom ## name didn't end up in pom. Hack it in for now gpg --batch --pinentry-mode=loopback --passphrase "$GPG_PASSWORD" -ab liquibase-cdi-${version}.pom + unzip -j liquibase-commercial-${version}.jar META-INF/maven/org.liquibase/liquibase-commercial/pom.xml + mv pom.xml liquibase-commercial-${version}.pom + gpg --batch --pinentry-mode=loopback --passphrase "$GPG_PASSWORD" -ab liquibase-commercial-${version}.pom + mvn -B org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy-file \ -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ \ -DrepositoryId=sonatype-nexus-staging \ - -DpomFile=liquibase-${version}.pom \ + -DpomFile=liquibase-core-${version}.pom \ -DgeneratePom=false \ - -Dfile=liquibase-${version}.jar \ - -Dsources=liquibase-${version}-sources.jar \ - -Djavadoc=liquibase-${version}-javadoc.jar \ - -Dfiles=liquibase-${version}.jar.asc,liquibase-${version}-sources.jar.asc,liquibase-${version}-javadoc.jar.asc,liquibase-${version}.pom.asc \ + -Dfile=liquibase-core-${version}.jar \ + -Dsources=liquibase-core-${version}-sources.jar \ + -Djavadoc=liquibase-core-${version}-javadoc.jar \ + -Dfiles=liquibase-core-${version}.jar.asc,liquibase-core-${version}-sources.jar.asc,liquibase-core-${version}-javadoc.jar.asc,liquibase-core-${version}.pom.asc \ + -Dtypes=jar.asc,jar.asc,jar.asc,pom.asc \ + -Dclassifiers=,sources,javadoc, + + mvn -B org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy-file \ + -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ \ + -DrepositoryId=sonatype-nexus-staging \ + -DpomFile=liquibase-commercial-${version}.pom \ + -DgeneratePom=false \ + -Dfile=liquibase-commercial-${version}.jar \ + -Dsources=liquibase-commercial-${version}-sources.jar \ + -Djavadoc=liquibase-commercial-${version}-javadoc.jar \ + -Dfiles=liquibase-commercial-${version}.jar.asc,liquibase-commercial-${version}-sources.jar.asc,liquibase-commercial-${version}-javadoc.jar.asc,liquibase-commercial-${version}.pom.asc \ -Dtypes=jar.asc,jar.asc,jar.asc,pom.asc \ -Dclassifiers=,sources,javadoc, diff --git a/liquibase-cli/src/main/java/liquibase/integration/commandline/LiquibaseCommandLine.java b/liquibase-cli/src/main/java/liquibase/integration/commandline/LiquibaseCommandLine.java index 2cfe6f1311d..fabe9375e3f 100644 --- a/liquibase-cli/src/main/java/liquibase/integration/commandline/LiquibaseCommandLine.java +++ b/liquibase-cli/src/main/java/liquibase/integration/commandline/LiquibaseCommandLine.java @@ -1142,7 +1142,7 @@ public String[] getVersion() throws Exception { continue; } final File file = new File(url.toURI()); - if (file.getName().equals("liquibase.jar")) { + if (file.getName().equals("liquibase-core.jar")) { continue; } if (file.exists() && file.getName().toLowerCase().endsWith(".jar")) { @@ -1195,9 +1195,11 @@ private LibraryInfo getLibraryInfo(File pathEntryFile) throws IOException { libraryInfo.file = pathEntryFile; final Manifest manifest = jarFile.getManifest(); - libraryInfo.name = getValue(manifest, "Bundle-Name", "Implementation-Title", "Specification-Title"); - libraryInfo.version = getValue(manifest, "Bundle-Version", "Implementation-Version", "Specification-Version"); - libraryInfo.vendor = getValue(manifest, "Bundle-Vendor", "Implementation-Vendor", "Specification-Vendor"); + if (manifest != null) { + libraryInfo.name = getValue(manifest, "Bundle-Name", "Implementation-Title", "Specification-Title"); + libraryInfo.version = getValue(manifest, "Bundle-Version", "Implementation-Version", "Specification-Version"); + libraryInfo.vendor = getValue(manifest, "Bundle-Vendor", "Implementation-Vendor", "Specification-Vendor"); + } if (libraryInfo.name == null) { libraryInfo.name = pathEntryFile.getName().replace(".jar", ""); diff --git a/liquibase-cli/src/main/java/liquibase/integration/commandline/LiquibaseLauncher.java b/liquibase-cli/src/main/java/liquibase/integration/commandline/LiquibaseLauncher.java index a92eb15fe82..2783e7fd216 100644 --- a/liquibase-cli/src/main/java/liquibase/integration/commandline/LiquibaseLauncher.java +++ b/liquibase-cli/src/main/java/liquibase/integration/commandline/LiquibaseLauncher.java @@ -38,7 +38,7 @@ public static void main(final String[] args) throws Exception { File liquibaseHome = new File(liquibaseHomeEnv); List urls = new ArrayList<>(); - urls.add(new File(liquibaseHome, "liquibase.jar").toURI().toURL()); + urls.add(new File(liquibaseHome, "internal/lib/liquibase-core.jar").toURI().toURL()); //make sure liquibase-core.jar is first in the list File[] libDirs = new File[]{ new File("./liquibase_libs"), @@ -60,7 +60,7 @@ public static void main(final String[] args) throws Exception { } for (File lib : files) { - if (lib.getName().toLowerCase(Locale.US).endsWith(".jar")) { + if (lib.getName().toLowerCase(Locale.US).endsWith(".jar") && !lib.getName().toLowerCase(Locale.US).equals("liquibase-core.jar")) { try { urls.add(lib.toURI().toURL()); debug("Added " + lib.getAbsolutePath() + " to classpath"); @@ -90,7 +90,7 @@ public static void main(final String[] args) throws Exception { if (parentLoaderSetting.equalsIgnoreCase("system")) { //loading with the regular system classloader includes liquibase.jar in the parent. //That causes the parent classloader to load LiquibaseCommandLine which makes it not able to access files in the child classloader - //The system classloader's parent is the boot classloader, which keeps the only classloader with liquibase.jar the same as the rest of the classes it needs to access. + //The system classloader's parent is the boot classloader, which keeps the only classloader with liquibase-core.jar the same as the rest of the classes it needs to access. parentLoader = ClassLoader.getSystemClassLoader().getParent(); } else if (parentLoaderSetting.equalsIgnoreCase("thread")) { diff --git a/liquibase-core/src/main/java/liquibase/parser/core/xml/LiquibaseEntityResolver.java b/liquibase-core/src/main/java/liquibase/parser/core/xml/LiquibaseEntityResolver.java index b79279d2c09..5c1de3f7d1d 100644 --- a/liquibase-core/src/main/java/liquibase/parser/core/xml/LiquibaseEntityResolver.java +++ b/liquibase-core/src/main/java/liquibase/parser/core/xml/LiquibaseEntityResolver.java @@ -56,9 +56,9 @@ public InputSource resolveEntity(String name, String publicId, String baseURI, S if (streams.isEmpty()) { if (GlobalConfiguration.SECURE_PARSING.getCurrentValue()) { - String errorMessage = "Unable to resolve xml entity " + systemId + " locally: " + + String errorMessage = "Unable to resolve xml entity " + systemId + ". " + GlobalConfiguration.SECURE_PARSING.getKey() + " is set to 'true' which does not allow remote lookups. " + - "Set it to 'false' to allow remote lookups of xsd files."; + "Check for spelling or capitalization errors and missing extensions such as liquibase-commercial in your XSD definition. Or, set it to 'false' to allow remote lookups of xsd files."; throw new XSDLookUpException(errorMessage); } else { log.fine("Unable to resolve XML entity locally. Will load from network."); @@ -110,7 +110,7 @@ private void warnForMismatchedXsdVersion(String systemId) { /** * ResourceAccessor to use if the standard one does not have the XSD files in it. - * Returns a ClassLoaderResourceAccessor that checks the system classloader which should include the liquibase.jar. + * Returns a ClassLoaderResourceAccessor that checks the system classloader which should include the liquibase-core.jar. */ protected ResourceAccessor getFallbackResourceAccessor() { if (fallbackResourceAccessor == null) { diff --git a/liquibase-core/src/main/resources/liquibase/examples/start-h2.bat b/liquibase-core/src/main/resources/liquibase/examples/start-h2.bat index ce3cb5aa5b1..6bbfb97c28b 100644 --- a/liquibase-core/src/main/resources/liquibase/examples/start-h2.bat +++ b/liquibase-core/src/main/resources/liquibase/examples/start-h2.bat @@ -6,7 +6,7 @@ setlocal enabledelayedexpansion rem %~dp0 is expanded pathname of the current script under NT rem %~p0 is the directory of the current script -if exist %~p0\..\liquibase.jar SET LIQUIBASE_HOME=%~p0.. +if exist %~p0\..\liquibase.bat SET LIQUIBASE_HOME=%~p0.. if "%LIQUIBASE_HOME%"=="" ( FOR /F "tokens=* USEBACKQ" %%g IN (`where liquibase.bat`) do (SET "LIQUIBASE_HOME=%%~dpg") diff --git a/liquibase-core/src/test/groovy/liquibase/parser/core/xml/XMLChangeLogSAXParserTest.groovy b/liquibase-core/src/test/groovy/liquibase/parser/core/xml/XMLChangeLogSAXParserTest.groovy index a89b324e0d9..eee93b902fd 100644 --- a/liquibase-core/src/test/groovy/liquibase/parser/core/xml/XMLChangeLogSAXParserTest.groovy +++ b/liquibase-core/src/test/groovy/liquibase/parser/core/xml/XMLChangeLogSAXParserTest.groovy @@ -80,7 +80,7 @@ class XMLChangeLogSAXParserTest extends Specification { then: def e = thrown(ChangeLogParseException) - e.message.contains("Unable to resolve xml entity file:///invalid.txt locally: liquibase.secureParsing is set to 'true' which does not allow remote lookups. Set it to 'false' to allow remote lookups of xsd files") + e.message.contains("Unable to resolve xml entity file:///invalid.txt. liquibase.secureParsing is set to 'true'") } def "allows liquibase.secureParsing=false to disable secure parsing"() { diff --git a/liquibase-dist/pom.xml b/liquibase-dist/pom.xml index 14d0c3ec47c..e49e58aef8c 100644 --- a/liquibase-dist/pom.xml +++ b/liquibase-dist/pom.xml @@ -1,80 +1,78 @@ - - 4.0.0 - - - org.liquibase - liquibase - 0-SNAPSHOT - - - liquibase-dist - jar + + 4.0.0 + + org.liquibase + liquibase + 0-SNAPSHOT + + liquibase-dist + jar Liquibase is a tool for managing and executing database changes. - - github - https://maven.pkg.github.com/liquibase + + github + https://maven.pkg.github.com/liquibase - 2.1.214 - 2.5.2 - 42.4.0 - 10.2.1.jre8 - 8.0.21 - 3.0.6 - 21.6.0.0.1 - 3.36.0.3 - 11.5.7.0 - 4.0.6.java8 - + 2.1.214 + 2.5.2 + 42.4.0 + 10.2.1.jre8 + 8.0.21 + 3.0.6 + 21.6.0.0.1 + 3.36.0.3 + 11.5.7.0 + 4.0.6.java8 - - - ${project.groupId} - liquibase-core - ${project.version} - - - ${project.groupId} - liquibase-cli - ${project.version} - + src/main/assembly/assembly-bin.xml + + + + + ${project.groupId} + liquibase-core + ${project.version} + + + ${project.groupId} + liquibase-cli + ${project.version} + ${project.groupId} liquibase-snowflake ${project.version} - - com.h2database - h2 - ${h2.version} + + com.h2database + h2 + ${h2.version} true - + - + org.hsqldb hsqldb ${hsqldb.version} true - + - + org.postgresql postgresql ${postgresql.version} true - + - + com.microsoft.sqlserver mssql-jdbc ${mssql.version} true - + net.snowflake @@ -89,180 +87,185 @@ - + org.mariadb.jdbc mariadb-java-client ${mariadb.version} true - + - + com.oracle.database.jdbc ojdbc8 ${oracle.version} true - + - + org.xerial sqlite-jdbc ${sqlite.version} true - + - + com.ibm.db2 jcc ${db2.version} true - + - + org.firebirdsql.jdbc jaybird ${firebird.version} true - + - - + + + + javax.xml.bind jaxb-api 2.3.1 - - + + org.glassfish.jaxb jaxb-core 4.0.0 true - - + + org.glassfish.jaxb jaxb-runtime 4.0.0 true - + + - - - + liquibase-${project.version} - - + + ${project.basedir}/src/main/archive ${project.build.directory}/archive true - - + + - - + + + org.liquibase.ext + liquibase-sdk-maven-plugin + 0.9 + + + org.apache.maven.plugins maven-source-plugin 3.2.1 - - + + true - - + + - + org.apache.maven.plugins maven-shade-plugin 3.3.0 - - + + com.github.marcosemiao.maven.plugins.shade.resource maven-shade-merge-manifest-transformer 0.0.2 - - - - - + + + + + ${project.groupId}:liquibase-core ${project.groupId}:liquibase-cli ${project.groupId}:liquibase-snowflake - com.datical.lb:liquibase-pro - - - - + + + + *:* - + META-INF/maven/** - - - + + + false true false false - + - + META-INF/maven/org.liquibase/liquibase-core/pom.xml ${basedir}/src/main/maven/release.pom.xml - - + + liquibase.build.properties - - - - - + + + + + package - + shade - - - - + + + + - + maven-assembly-plugin 3.4.1 - + liquibase-${project.version} false false - - src/main/assembly/assembly-bin.xml - - - - + + ${assemblyConfigFile} + + + + make-assembly package - + single - - - - - - - + + + + + + maven-install-plugin - + liquibase-core ${project.build.directory}/liquibase-${project.version}.jar ${project.build.directory}/liquibase-${project.version}-sources.jar ${project.build.directory}/flattened-pom/release.pom.xml - - - + + + custom-install install - + install-file - - - - + + + + @@ -283,8 +286,7 @@ - - + org.codehaus.mojo build-helper-maven-plugin 3.3.0 @@ -301,28 +303,30 @@ - - - + + - - - liquibase-pro + + + liquibase-commercial - - + + ../../liquibase-pro/pom.xml - - + + - - - com.datical.lb - liquibase-pro - ${project.version} - - - - + + src/main/assembly/assembly-bin-pro.xml + + + + org.liquibase + liquibase-commercial + ${project.version} + + + + diff --git a/liquibase-dist/src/main/archive/README.txt b/liquibase-dist/src/main/archive/README.txt index cba0197cec1..be9e9f1be7e 100644 --- a/liquibase-dist/src/main/archive/README.txt +++ b/liquibase-dist/src/main/archive/README.txt @@ -34,7 +34,6 @@ Files are: * liquibase/LICENSE.txt * liquibase/liquibase.sh * liquibase/liquibase.bat - * liquibase/liquibase.jar * liquibase/README.txt * liquibase/GETTING_STARTED.txt * liquibase/examples/start-h2 diff --git a/liquibase-dist/src/main/archive/liquibase b/liquibase-dist/src/main/archive/liquibase index 088a19e86ec..65981cdf5e6 100644 --- a/liquibase-dist/src/main/archive/liquibase +++ b/liquibase-dist/src/main/archive/liquibase @@ -42,6 +42,7 @@ if [ -z "${JAVA_HOME}" ]; then if [ -z "${JAVA_PATH}" ]; then echo "Cannot find java in your path. Install java or use the JAVA_HOME environment variable" + exit 1 fi else #Use path in JAVA_HOME @@ -52,4 +53,4 @@ fi JAVA_OPTS="${JAVA_OPTS-}" export LIQUIBASE_HOME -"${JAVA_PATH}" $JAVA_OPTS -jar "$LIQUIBASE_HOME/liquibase.jar" ${1+"$@"} +"${JAVA_PATH}" $JAVA_OPTS -jar "$LIQUIBASE_HOME/internal/lib/liquibase-core.jar" ${1+"$@"} diff --git a/liquibase-dist/src/main/archive/liquibase.bat b/liquibase-dist/src/main/archive/liquibase.bat index 99b54cb3ac9..56f384922e0 100644 --- a/liquibase-dist/src/main/archive/liquibase.bat +++ b/liquibase-dist/src/main/archive/liquibase.bat @@ -30,4 +30,4 @@ IF NOT DEFINED JAVA_OPTS set JAVA_OPTS= set JAVA_PATH=java if NOT "%JAVA_HOME%" == "" set JAVA_PATH=%JAVA_HOME%\bin\java -"%JAVA_PATH%" %JAVA_OPTS% -jar "%LIQUIBASE_HOME%\liquibase.jar" %* +"%JAVA_PATH%" %JAVA_OPTS% -jar "%LIQUIBASE_HOME%\internal\lib\liquibase-core.jar" %* diff --git a/liquibase-dist/src/main/assembly/assembly-bin-common.xml b/liquibase-dist/src/main/assembly/assembly-bin-common.xml new file mode 100644 index 00000000000..482d0a401e2 --- /dev/null +++ b/liquibase-dist/src/main/assembly/assembly-bin-common.xml @@ -0,0 +1,141 @@ + + + + ${project.build.directory}/archive + ${file.separator} + unix + + liquibase + + 0755 + + + ${project.build.directory}/archive + + ${file.separator} + dos + + *.bat + + + + ${project.build.directory}/archive + ${file.separator} + unix + + liquibase + *.bat + + + + ${project.build.directory}/site/apidocs + javadoc + + **/* + + + + ${project.basedir}/../liquibase-core/target/classes/liquibase/examples + examples + + **/* + + + **/start-h2* + + + + ${project.basedir}/../liquibase-core/target/classes/liquibase/examples + examples + + **/start-h2 + + unix + 0755 + + + ${project.basedir}/../liquibase-core/target/classes/liquibase/examples + examples + + **/start-h2.bat + + dos + + + + + ${project.build.directory}/liquibase-0-SNAPSHOT.jar + internal/lib/liquibase-core.jar + 0644 + + + + ../LICENSE.txt + ${file.separator} + + + ../ABOUT.txt + ${file.separator} + + + ../changelog.txt + ${file.separator} + + + + + ${artifact.artifactId}${dashClassifier?}.${artifact.extension} + internal/lib + true + runtime + + org.liquibase:liquibase-commercial: + com.opencsv:opencsv: + org.yaml:snakeyaml:jar: + javax.xml.bind:jaxb-api:jar: + org.glassfish.jaxb:jaxb-runtime:jar: + org.glassfish.jaxb:jaxb-core:jar: + info.picocli:picocli:jar: + com.h2database:h2:jar: + org.hsqldb:hsqldb:jar: + org.postgresql:postgresql:jar + org.mariadb.jdbc:mariadb-java-client:jar + com.oracle.database.jdbc:ojdbc8:jar + com.microsoft.sqlserver:mssql-jdbc:jar + org.xerial:sqlite-jdbc:jar: + com.ibm.db2:jcc:jar: + org.firebirdsql.jdbc:jaybird: + net.snowflake:snowflake-jdbc: + + javax.resource:connector-api: + + + + + + + + org.antlr:antlr4-runtime:jar: + org.checkerframework:checker-qual:jar: + commons-beanutils:commons-beanutils:jar: + org.glassfish.jaxb:txw2:jar: + org.eclipse.angus:angus-activation:jar: + com.sun.istack:istack-commons-runtime:jar: + jakarta.activation:jakarta.activation-api:jar: + jakarta.xml.bind:jakarta.xml.bind-api:jar: + com.sun.activation:jakarta.activation:jar: + javax.activation:javax.activation-api:jar: + org.liquibase:liquibase-snowflake:jar: + net.java.truelicense:*:jar: + com.github.jsqlparser:jsqlparser:jar: + commons-codec:commons-codec:jar: + com.fasterxml.jackson.core:*:jar: + com.fasterxml.jackson.module:*:jar: + + + + diff --git a/liquibase-dist/src/main/assembly/assembly-bin-pro.xml b/liquibase-dist/src/main/assembly/assembly-bin-pro.xml new file mode 100644 index 00000000000..e874aecc004 --- /dev/null +++ b/liquibase-dist/src/main/assembly/assembly-bin-pro.xml @@ -0,0 +1,21 @@ + + liquibase-bin + + tar.gz + + false + + src/main/assembly/assembly-bin-common.xml + + + + ${artifact.artifactId}${dashClassifier?}.${artifact.extension} + internal/lib + + + org.liquibase:liquibase-commercial:jar: + + + + + diff --git a/liquibase-dist/src/main/assembly/assembly-bin.xml b/liquibase-dist/src/main/assembly/assembly-bin.xml index 357dfa3fe83..4bb56ee28b1 100644 --- a/liquibase-dist/src/main/assembly/assembly-bin.xml +++ b/liquibase-dist/src/main/assembly/assembly-bin.xml @@ -1,142 +1,11 @@ - liquibase-bin tar.gz false - - - ${project.build.directory}/archive - ${file.separator} - unix - - liquibase - - 0755 - - - ${project.build.directory}/archive - - ${file.separator} - dos - - *.bat - - - - ${project.build.directory}/archive - ${file.separator} - unix - - liquibase - *.bat - - - - ${project.build.directory}/site/apidocs - javadoc - - **/* - - - - ${project.basedir}/../liquibase-core/target/classes/liquibase/examples - examples - - **/* - - - **/start-h2* - - - - ${project.basedir}/../liquibase-core/target/classes/liquibase/examples - examples - - **/start-h2 - - unix - 0755 - - - ${project.basedir}/../liquibase-core/target/classes/liquibase/examples - examples - - **/start-h2.bat - - dos - - - - - ${project.build.directory}/liquibase-0-SNAPSHOT.jar - liquibase.jar - 0644 - - - - ../LICENSE.txt - ${file.separator} - - - ../ABOUT.txt - ${file.separator} - - - ../changelog.txt - ${file.separator} - - - - - ${artifact.artifactId}${dashClassifier?}.${artifact.extension} - internal/lib - true - runtime - - com.opencsv:opencsv: - org.yaml:snakeyaml:jar: - javax.xml.bind:jaxb-api:jar: - org.glassfish.jaxb:jaxb-runtime:jar: - org.glassfish.jaxb:jaxb-core:jar: - info.picocli:picocli:jar: - - com.h2database:h2:jar: - org.hsqldb:hsqldb:jar: - org.postgresql:postgresql:jar - org.mariadb.jdbc:mariadb-java-client:jar - com.oracle.database.jdbc:ojdbc8:jar - com.microsoft.sqlserver:mssql-jdbc:jar - org.xerial:sqlite-jdbc:jar: - com.ibm.db2:jcc:jar: - org.firebirdsql.jdbc:jaybird: - net.snowflake:snowflake-jdbc: - - javax.resource:connector-api: - - - - - - - - org.antlr:antlr4-runtime:jar: - org.checkerframework:checker-qual:jar: - commons-beanutils:commons-beanutils:jar: - org.glassfish.jaxb:txw2:jar: - org.eclipse.angus:angus-activation:jar: - com.sun.istack:istack-commons-runtime:jar: - jakarta.activation:jakarta.activation-api:jar: - jakarta.xml.bind:jakarta.xml.bind-api:jar: - com.sun.activation:jakarta.activation:jar: - javax.activation:javax.activation-api:jar: - - - - - + + src/main/assembly/assembly-bin-common.xml + + \ No newline at end of file diff --git a/liquibase-integration-tests/setup/build.xml b/liquibase-integration-tests/setup/build.xml index c0d9af7373d..a4771f93dba 100644 --- a/liquibase-integration-tests/setup/build.xml +++ b/liquibase-integration-tests/setup/build.xml @@ -7,9 +7,9 @@ - - - + + + diff --git a/liquibase-integration-tests/setup/oracle/build.xml b/liquibase-integration-tests/setup/oracle/build.xml index aea82c91357..3c93a02e998 100644 --- a/liquibase-integration-tests/setup/oracle/build.xml +++ b/liquibase-integration-tests/setup/oracle/build.xml @@ -20,9 +20,9 @@ - - - + + + diff --git a/liquibase-integration-tests/src/test/resources/commandline/README.txt b/liquibase-integration-tests/src/test/resources/commandline/README.txt deleted file mode 100644 index 894f1961b9d..00000000000 --- a/liquibase-integration-tests/src/test/resources/commandline/README.txt +++ /dev/null @@ -1,9 +0,0 @@ -This folder exists to easily test the built liquibase jar. - -Simply copy the liquibase.jar and liquibase.bat scripts to this directory and run them. - -There are pre-existing liquibase.properties file for different databases. - -For example: - -liquibase --defaultsFile=liquibase.h2.properties update \ No newline at end of file diff --git a/liquibase-integration-tests/src/test/resources/commandline/liquibase.h2.properties b/liquibase-integration-tests/src/test/resources/commandline/liquibase.h2.properties deleted file mode 100644 index e5d227a38eb..00000000000 --- a/liquibase-integration-tests/src/test/resources/commandline/liquibase.h2.properties +++ /dev/null @@ -1,8 +0,0 @@ -classpath: ..;../../../../../liquibase-core/target/test-classes;../../../../../liquibase-integration-tests/target/test-classes/packaged-changelog.jar -changeLogFile=changelogs/h2/complete/root.changelog.xml -username=liquibase -password= -url=jdbc:h2:mem:liquibase -driver=org.h2.Driver -logLevel=SEVERE -contexts=test diff --git a/liquibase-integration-tests/src/test/resources/commandline/liquibase.mariadb.properties b/liquibase-integration-tests/src/test/resources/commandline/liquibase.mariadb.properties deleted file mode 100644 index 7585879fa2c..00000000000 --- a/liquibase-integration-tests/src/test/resources/commandline/liquibase.mariadb.properties +++ /dev/null @@ -1,8 +0,0 @@ -classpath: ..;../../../../../liquibase-core/target/test-classes;../../../../../liquibase-integration-tests/target/test-classes/packaged-changelog.jar -#changeLogFile=changelogs/mysql/complete/root.changelog.xml -username=liquibase -password=liquibase -url=jdbc:mariadb://localhost/liquibase -driver=org.mariadb.jdbc.Driver -logLevel=DEBUG -contexts=test \ No newline at end of file diff --git a/liquibase-integration-tests/src/test/resources/commandline/liquibase.mssql.properties b/liquibase-integration-tests/src/test/resources/commandline/liquibase.mssql.properties deleted file mode 100644 index 3cce24e7ef3..00000000000 --- a/liquibase-integration-tests/src/test/resources/commandline/liquibase.mssql.properties +++ /dev/null @@ -1,7 +0,0 @@ -classpath: ..;../../../../../liquibase-core/target/test-classes -changeLogFile=changelogs/mssql/complete/root.changelog.xml -username=liquibase -password=liquibase -url=jdbc:sqlserver://localhost;instanceName=SQL2005;databaseName=liquibase -driver=com.microsoft.sqlserver.jdbc.SQLServerDriver -logLevel=INFO diff --git a/liquibase-integration-tests/src/test/resources/commandline/liquibase.mysql.properties b/liquibase-integration-tests/src/test/resources/commandline/liquibase.mysql.properties deleted file mode 100644 index a34a532da71..00000000000 --- a/liquibase-integration-tests/src/test/resources/commandline/liquibase.mysql.properties +++ /dev/null @@ -1,8 +0,0 @@ -classpath: ..;../../../../../liquibase-core/target/test-classes;../../../../../liquibase-integration-tests/target/test-classes/packaged-changelog.jar -#changeLogFile=changelogs/mysql/complete/root.changelog.xml -username=liquibase -password=liquibase -url=jdbc:mysql://localhost/liquibase -driver=com.mysql.cj.jdbc.Driver -logLevel=DEBUG -contexts=test diff --git a/liquibase-integration-tests/src/test/resources/commandline/liquibase.oracle.properties b/liquibase-integration-tests/src/test/resources/commandline/liquibase.oracle.properties deleted file mode 100644 index 5e81c41b3db..00000000000 --- a/liquibase-integration-tests/src/test/resources/commandline/liquibase.oracle.properties +++ /dev/null @@ -1,7 +0,0 @@ -classpath: ..;../../../../../liquibase-core/target/test-classes;../../../../../liquibase-integration-tests/target/test-classes/packaged-changelog.jar -changeLogFile=changelogs/oracle/complete/root.changelog.xml -username=liquibase -password=liquibase -url=jdbc:oracle:thin:@192.168.1.5:1521/XE -driver=oracle.jdbc.OracleDriver -logLevel=INFO diff --git a/liquibase-integration-tests/src/test/resources/commandline/liquibase.postgres.properties b/liquibase-integration-tests/src/test/resources/commandline/liquibase.postgres.properties deleted file mode 100644 index fc5732d8823..00000000000 --- a/liquibase-integration-tests/src/test/resources/commandline/liquibase.postgres.properties +++ /dev/null @@ -1,8 +0,0 @@ -classpath: ..;../../../../../liquibase-core/target/test-classes;../../../../../liquibase-integration-tests/target/test-classes/packaged-changelog.jar -changeLogFile=changelogs/mysql/complete/root.changelog.xml -#username=liquibase -password=liquibase -url=jdbc:postgresql://localhost/liquibase -driver=org.postgresql.Driver -logLevel=DEBUG -contexts=test diff --git a/liquibase-maven-plugin/pom.xml b/liquibase-maven-plugin/pom.xml index e893314dacd..f76e0f1633a 100644 --- a/liquibase-maven-plugin/pom.xml +++ b/liquibase-maven-plugin/pom.xml @@ -94,47 +94,40 @@ - - org.codehaus.mojo - xml-maven-plugin - 1.0.2 - - - transform-deploy-pom - process-resources - - transform - - - - - true - - - ${project.build.directory}/flattened-pom - release.pom.xml - ${project.build.directory} - ${project.basedir}/src/main/maven/liquibase-deployment-pom.xslt - - - - - - - maven-install-plugin + org.apache.maven.plugins + maven-shade-plugin + 3.3.0 - ${project.artifactId} - ${project.build.directory}/${project.artifactId}-${project.version}.jar - ${project.build.directory}/${project.artifactId}-${project.version}-sources.jar - ${project.build.directory}/${project.artifactId}-${project.version}-javadoc.jar - ${project.build.directory}/release.pom.xml + + + ${project.groupId}:liquibase-maven-plugin + + + + + *:* + + META-INF/maven/**/pom.xml + + + + false + false + false + false + + + + META-INF/maven/org.liquibase/liquibase-maven-plugin/pom.xml + ${basedir}/src/main/maven/release.pom.xml + + - custom-install - install + package - install-file + shade diff --git a/liquibase-maven-plugin/src/main/maven/liquibase-deployment-pom.xslt b/liquibase-maven-plugin/src/main/maven/liquibase-deployment-pom.xslt deleted file mode 100644 index ae28b294422..00000000000 --- a/liquibase-maven-plugin/src/main/maven/liquibase-deployment-pom.xslt +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - Liquibase Maven Plugin - - - - diff --git a/liquibase-maven-plugin/src/main/maven/release.pom.xml b/liquibase-maven-plugin/src/main/maven/release.pom.xml new file mode 100644 index 00000000000..66af84f45fc --- /dev/null +++ b/liquibase-maven-plugin/src/main/maven/release.pom.xml @@ -0,0 +1,49 @@ + + + 4.0.0 + org.liquibase + liquibase-maven-plugin + 0-SNAPSHOT + maven-plugin + Liquibase Maven Plugin + A Maven plugin wraps up some of the functionality of Liquibase + http://www.liquibase.org/liquibase-maven-plugin + + + Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0 + + + + + nvoxland + Nathan Voxland + nathan.voxland@liquibase.org + + architect + developer + + -6 + + + + scm:git:git@github.com:liquibase/liquibase.git/liquibase-maven-plugin + scm:git:git@github.com:liquibase/liquibase.git/liquibase-maven-plugin + scm:git:git@github.com:liquibase/liquibase.git/liquibase-maven-plugin + + + + org.liquibase + liquibase-core + 0-SNAPSHOT + runtime + + + org.liquibase + liquibase-commercial + 0-SNAPSHOT + runtime + + +