Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#21 in-tree maven pom files

open
nobody
None
5
2012-10-08
2011-07-13
Matthew L Daniel
No

These create Maven artifacts from the source tree, with source attachments for all the artifacts and javadoc attachment to the main "saxon" artifact. I experienced some troubles getting javadoc to build only the subset of files, which would be eliminated if the upstream project were to restructure the source code into formal modules, instead of one giant source dump.

Discussion

  • Michael Kay
    Michael Kay
    2011-07-13

    Thanks for your efforts on this. Please note that there is a legal requirement that any distribution of Saxon code in source or binary form includes copies of the third party legal notices associated with components such as the normalization code from the Unicode consortium. I'm not prepared to get involved in any packaging exercise that doesn't address this requirement, which most Maven packaging efforts seem to ignore entirely.

     
  • Is it okay if they are included in the jar, under a "licenses" directory or "META-INF/licenses", perhaps?

    I also want to point out that the saxon9he.jar which one finds in saxonhe9-3-0-4j.zip does not contain any such licenses.

    However, with your direction I will gladly update the POM files to reflect your wishes.

    Thanks for your time.

     
  • Michael Kay
    Michael Kay
    2011-07-13

    Thanks for pointing out that the license files are not present in the Sourceforge download. That's embarrassing - it's caused by an oversight in my build scripts. There's been a fair bit of discussion on saxon-help and elsewhere about how the requirements to deliver licenses could be met with Maven. The Unicode license (and the others are similar) says "the above copyright notice(s) and this permission notice [must] appear with all copies of the Data Files or Software". I have always felt that burying the notice inside the JAR file doesn't truly satisfy the requirement that it should "appear", ie. should be apparent, and I don't know any other way to meet this requirement in Maven.

     
  • It looks like that if the POM contains the license declaration (which my patch does not, but can), then Maven will print out the license information on demand: http://www.mail-archive.com/users@maven.apache.org/msg99628.html

    Also, FWIW, Google's GWT provides all the license files (including the Unicode license) inside its jar file: http://grepcode.com/file/repo1.maven.org/maven2/com.google.gwt/gwt-dev/2.2.0/unicode-license.txt

    I would venture to say that an organization such as Google doing that way sets a reasonable legal precedent.

    The other school of thought is that if the set of licenses are so important to the Saxon project, then emitting them on a "--help" or "--version" screen sounds like a good project goal.

     


Anonymous


Cancel   Add attachments