svendiedrichsen / jollyday

Jollyday - A holiday API
Other
186 stars 115 forks source link

Building Jolliday v_0_5_9 #120

Open Mechtilde opened 4 years ago

Mechtilde commented 4 years ago

Hello I tried to build jollyday myself to package it for the Debian repository. I need it as a dependency of JVerein. I also want to package JVerein for Debian.

I get the following message: build/jollyday-0.5.9/src/main/java/de/jollyday/datasource/ConfigurationDataSource.java:[19,26] package de.jollyday.config does not exist

If I look deeper into the source code I can't find the directors src/main/java/de/jollyday/config. There is no any directory and no file "config".

How can I proceed?

Any hints?

Kind regards Mechtilde

svendiedrichsen commented 4 years ago

You must build Jollyday using maven. The missing package and its classes will be generated by maven and packaged during build into the target jar file.

Can't you use the ready built jar files from the maven repo for your debian build? After all there are some checksums that go with the jar files which you probably would like to ship in your build too. And those will differ from the official ones if you rebuild the jar.

Mechtilde commented 4 years ago

Hello

I build Jollyday with maven. Where can I get the sources for it? Then I can build it before I build Jollyday.

Kind regards

svendiedrichsen commented 4 years ago

The missing classes will be generated from Holiday.xsd file. Which is in the sources. The pom.xml file contains a section for the jax-maven-plugin which calls xjc tool to generate the sources. There seems to be a problem with the xjc tool on your machine. Which JDK are you using? Could you run maven with -X option and post the output?

svendiedrichsen commented 4 years ago

@Mechtilde Did you make any progress on this?

Mechtilde commented 4 years ago

Hello,

to build the missing classes frm Holiday.xsd file I need the package jax-maven-plugin which isn't packaged in Debian.

So I have to package it. I needs two further packages which I already packaged.

so I need some more time to get a result.

Kind regards -- Mechtilde Stehmann

PGP encryption welcome

F0E3 7F3D C87A 4998 2899 39E7 F287 7BBA 141A AD7F

svendiedrichsen commented 4 years ago

@Mechtilde jax-maven-plugin is a maven plugin. You don't need to package this. It will be downloaded by maven when needed.

Mechtilde commented 4 years ago

Hello Sven,

Am 09.10.19 um 13:28 schrieb Sven Diedrichsen:

@Mechtilde jax-maven-plugin is a maven plugin. You don't need to package this. It will be downloaded by maven when needed.

It is not allowed to download something from external.

All software you need to package must be available as a Debian package.

The build process don't have internet access.

Kind regards

-- Mechtilde Stehmann

Debian Developer

PGP encryption welcome

F0E3 7F3D C87A 4998 2899 39E7 F287 7BBA 141A AD7F

svendiedrichsen commented 4 years ago

Good luck, @Mechtilde . Thats a hell of job you have.

https://stackoverflow.com/questions/7233328/how-do-i-configure-maven-for-offline-development

Mechtilde commented 4 years ago

The missing classes will be generated from Holiday.xsd file. Which is in the sources. The pom.xml file contains a section for the jax-maven-plugin which calls xjc tool to generate the sources. There seems to be a problem with the xjc tool on your machine. Which JDK are you using? I use OpenJDK 11.

I build jax-maven-plugin successfully; but building Jollyday failed with the same error message.

Which changes are also needed to use jax-maven-plugin (https://salsa.debian.org/java-team/jax-maven-plugin). i can also provide the binary *.jar if desired.

Kind regards

Mechtilde commented 4 years ago

Hello, I did a little bit progress with a lot of trickery.

Now I looked for javax.xml.bind.annotation which should be shipped by Java 8. Now I have to use Java 11. I need it in src/main/java/de/jollyday/config/org/example/holiday/ChristianHoliday.java:11 ff.

burberius commented 4 years ago

The current version of Jolliday can't be built on newer JDK version, see also #116 and #72

Mechtilde commented 4 years ago

Hello

Am 04.11.19 um 10:25 schrieb Jens Oberender:

The current version of Jolliday can't be built on newer JDK version, see also #116

Does it mean it doesn't build with java 1? Or is it the warning only for version >=12?

Kind regards

-- Mechtilde Stehmann

Debian Developer

PGP encryption welcome

F0E3 7F3D C87A 4998 2899 39E7 F287 7BBA 141A AD7F

burberius commented 4 years ago

I just packaged it with openJDK 11 without errors! There were just some warnings in the tests about classloader. I event set the java version to 11 in the pom and it still built! So looks like there are only problems with >=12

Mechtilde commented 4 years ago

Hello is there a timeframe to be buildable with Java >= 11?

Or is there a workaround?

I want to build JVerein which depends on Jollyday.

svendiedrichsen commented 4 years ago

Hello is there a timeframe to be buildable with Java >= 11?

Or is there a workaround?

I want to build JVerein which depends on Jollyday.

As you can see from the comment of @burberius Jollyday is buildable with JDK 11.