Not sure what is the best Maven way to do NOTICE file management when we have many modules and are going to release JARs in Maven Central. I would prefer not having to do too much copy and pasting..
As the taverna-scufl2-schemas JAR in this case contains the actual XSD as well, I've added: https://github.com/taverna-incubator/incubator-taverna-language/blob/master/taverna-scufl2-schemas/src/main/resources/META-INF/NOTICE.vm (Inspired by http://central.maven.org/maven2/org/apache/apache-jar-resource-bundle/1.4/) which then is completed as a velocity template (to get the correct project name and year), and generates this META-INF/NOTICE file in the compiled taverna-scufl2-schemas-0.16.1-incubating-SNAPSHOT.jar : > Apache Taverna Scufl 2 Schemas > Copyright 2015 The Apache Software Foundation > > This product includes software developed at > The Apache Software Foundation (http://www.apache.org/). > > > # xml.xsd > > Copyright © 2008 W3C® (MIT, ERCIM, Keio, Beihang). This software or > document includes material copied from or derived from: > > - Extensible Markup Language (XML) 1.0 (Fifth Edition) > W3C Recommendation 26 November 2008 > http://www.w3.org/2001/xml.xsd > http://www.w3.org/TR/xml/ .. but - the template META-INF/NOTICE.vm is also included in the JAR! confusing.. but.. not "wrong" legally (it even has an Apache header to keep RAT happy!). Perhaps the Velocity template is taking this too far. If I add this directly as META-INF/NOTICE it is included only once - but of course "2015" will/may be out of date next year - but that's 10 greps a year then. Is that really a problem? Another question - how are NOTICE files from sub-modules meant to be aggregated/combined in the source release of the taverna-language project (and in the command line/workbench binary releases that will include this JAR): I tried building taverna-language now with the above, using: mvn clean install -DskipTests=true -Drat.skip=true -Papache-release and in target/taverna-language-0.16.1-incubating-SNAPSHOT-source-release.zip I get an autogenerated NOTICE file that just says: Apache Taverna Language APIs (Scufl2, Databundle) Copyright 2015 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/). To find that W3C notice you have to hunt around: stain@biggie-utopic:~/src/taverna-incubator/incubator-taverna-language/target/taverna-language-0.16.1-incubating-SNAPSHOT$ find . -name '*NOTICE*' ./NOTICE ./taverna-scufl2-schemas/src/main/resources/META-INF/NOTICE.vm Somehow I feel the mentors would not see this as job done.. Would anyone have time to check around if there is some help from Maven plugins here (see other multi-module Apache projects), or if we are just going to have to do a copy-paste job and hope we don't get it wrong? On 10 February 2015 at 15:45, Stian Soiland-Reyes <[email protected]> wrote: > I have added license headers to all files in taverna-scufl2-schemas - > all but one were ours. > > I guess we would get rid of the duplicates and use Maven dependencies.. > > > W3C licensing (e.g. xml.xsd) will require a NOTICE mention, probably > also into LICENSE? > > http://www.w3.org/Consortium/Legal/2015/doc-license > > On 10 February 2015 at 11:52, alaninmcr <[email protected]> wrote: >> Hello everybody, >> >> I have put the licenses on the xsd files that are definitely >> Taverna-community-created. >> >> Alan >> > > -- > Stian Soiland-Reyes > Apache Taverna (incubating) > http://orcid.org/0000-0001-9842-9718 -- Stian Soiland-Reyes Apache Taverna (incubating) http://orcid.org/0000-0001-9842-9718
