META-INF\MANIFEST.MF build problem

Hi,

I’m trying to contribute. I’ve imported the project from liquibase-core\pom.xml into IntelliJ but when I run the maven package task, the META-INF\MANIFEST.MF does not contain the neither the Main-Class nor the Liquibase-Package properties

Which step am I missing?

The same happens if I build it from command line or from the root project

Thanks,

 Gyula Bibernáth

If you are only using the directory liquibase-core then that will not work. After cloning the repository, you need to build from the root directory rather than any of the sub-directories. 

You said you did that, so the next question would be what branch are you using? The master branch may have some issues, so you should be using the 3.8.x branch for now. We will be ‘getting back to master’ in the near future, but for now that should not be depended on. 

Steve Donie
Principal Software Engineer
Liquibase Community Engagement
Datical, Inc. http://www.datical.com/

Hi,

Thanks for the answer.

Yes, I’ve tried on branch 3.8.x

Thanks,

  Gyula

Can you run your build and send me the output? I’ll see if I can detect any issues. 

Steve Donie
Principal Software Engineer
Liquibase Community Engagement
Datical, Inc. http://www.datical.com/

Hi,

  1. Download 3.8.x branch

  2. Cmd in liquibase-root>mvn -DskipTests=true package

Generates liquibase-3.8.x\liquibase-core\target\liquibase-core-3.8.6-local-SNAPSHOT.jar with a manifest.mf containing only:

Manifest-Version: 1.0
Created-By: Apache Maven 3.6.3
Built-By: bgyul
Build-Jdk: 12.0.2

I’ve attached the maven console output.

Regards,

    Gyula

Ah - I see what the problem is. 

The jar file that you should be checking is in the liquibase-dist/target directory. I’ll make some updates to our development instructions to make this clearer.

Steve Donie
Principal Software Engineer
Liquibase Community Engagement
Datical, Inc. http://www.datical.com/

From the name of the folder I was assuming, but there is no such file generated. The build fails.

[INFO] liquibase-core … SUCCESS [01:13 min]
[INFO] liquibase-maven-plugin … FAILURE [  2.915 s]
[INFO] liquibase-cdi … SKIPPED
[INFO] liquibase-integration-tests … SKIPPED
[INFO] liquibase-root … SKIPPED
[INFO] liquibase-dist … SKIPPED

If I add javax.xml.bind.jaxb-api to the \liquibase-maven-plugin\pom.xml then builds successfully.

Shall I create a pull request or are you going to fix it?

There are sill some values not set in the generated liquibase-dist\target\liquibase-3.8.6-local-SNAPSHOT.jar\META-INF\manifest.mf

Build-Time: ${build.timestamp}
Build-Number: ${build.number}
Liquibase-Version: ${project.version}

Regards,

   Gyula

Ah - I see that now. We are still using JDK 8, and you are using 12, and the classes in that added dependency were remove in JDK 11, if I recall correctly. 

I’d love to get a pull request, and I will make sure it gets merged right away. 

It appears that the other items in the manifest are not being filled in for our builds either. Something I’ll look into. 

Hi,

I’ve created a pull request adding the dependency to the maven plugin.

I’ve also created another one fixing the not filled other properties in the manifest.

Regards,

   Gyula

Thanks so much! We will review and merge as soon as we can. 

Steve Donie
Principal Software Engineer
Liquibase Community Engagement
Datical, Inc. http://www.datical.com/