svendiedrichsen / jollyday

Jollyday - A holiday API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Where is the package "de.jollyday.config" on GitHub?

MenoData opened this issue · comments

Some classes like EthiopianOrthodoxHolidayParser refer to the package (for example to the class de.jollyday.config.Holidays) but I cannot find the package - neither on GitHub nor on downloaded zip-files from GitHub. I think, an open-source-project is supposed to contain all source code, or have I overlooked something?

Background is, I would like to contribute for example Hebrew holidays in the future but then I need to see and understand the whole source code...

Okay, it is dynamically created via xml-binding but I still see the disadvantage not to have reasonable good javadocs and source code navigation. Question: Is excluding the package from javadoc really necessary?


141                 <plugin> 
142                     <groupId>org.apache.maven.plugins</groupId> 
143                     <artifactId>maven-javadoc-plugin</artifactId> 
144                     <version>2.10.4</version> 
145                     <configuration> 
146                         <excludePackageNames>de.jollyday.config</excludePackageNames> 
147                     </configuration> 
148                 </plugin> 

Classes under de.jollyday.config don't contain any logic. They are simple DTO classes which are used by JAXB for deserializing XML files. They only carry generated javadoc and anntotations and will never be checked in as normal source code is. Including these into generated javadoc will not provide any insight into how the API work but will distract from working code.

I see your point. So that package is some kind of implementation internals. But I also still see the problem that other parts of public API refer to the package de.jollyday.config, for example:

http://jollyday.sourceforge.net/apidocs/de/jollyday/util/CalendarUtil.html#create-int-de.jollyday.config.Fixed-

IMHO, a public API should not refer to internals. This has first made it difficult for me to understand your API, and introducing new public interfaces might solve the problem, but of course, you are free to close this issue without action if it is too much work for you.

I'm open to any suggestions. Please feel free to fork and rework apropriately.

Okay, I will try to make some proposals in code form later (but probably rather in the begin of year 2018 when I can also contribute holidays in Israel).

By the way, have you noticed that Oracle seems to be willing to delete the javax.xml.bind-package from JDK? Java-9 has this information about the associated module:

@Deprecated(since="9", forRemoval=true) 
Module java.xml.bind

Here an official link: http://openjdk.java.net/jeps/320

It would probably affect Jollyday so I thought it is good for you to know for the future.

Thank you. Good to know.