Issue Details (XML | Word | Printable)

Key: JDO-386
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Michael Bouschen
Reporter: Craig Russell
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
JDO

All distributions (source and binary) need to include NOTICE file

Created: 13/Jun/06 02:09 AM   Updated: 18/Jun/06 02:34 AM
Return to search
Component/s: api2, tck2
Affects Version/s: JDO 2 final
Fix Version/s: JDO 2 maintenance release 1

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works JDO-386.patch 2006-06-17 04:44 AM Michael Bouschen 101 kB

Resolution Date: 18/Jun/06 02:34 AM


 Description  « Hide
The distributions need to include a NOTICE file in the same directory as the LICENSE file. Both the source and binary distributions need this file.

For details, see http://www.apache.org/dev/apply-license.html#new summarized as follows:

"A NOTICE file should be included in the same directory as the LICENSE file. The NOTICE should include only those attribution notices that are required by any part of the entire distribution. For Apache projects and those redistributing ASF software, the NOTICE file must contain the sentence:

   This product includes software developed by
   The Apache Software Foundation (http://www.apache.org/).
The license is applied to each source file (code and documentation, but excluding the LICENSE and NOTICE files) by including a short copyright notice at the top, as demonstrated by the boilerplate notice provided in the appendix."

I've filed this under tck20 and api20 but it applies to all Apache distributions.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Craig Russell added a comment - 14/Jun/06 01:32 AM
I added a NOTICE.txt file and created a distribution, but it didn't contain the NOTICE.txt file.

There are many places where the LICENSE.txt file appears. There is one at trunk/LICENSE.txt, trunk/<project>/LICENSE.txt, trunk/<project>/META-INF/LICENSE.txt. Why so many? How do we get NOTICE.txt to be put into the source and jar files similar to LICENSE (and preferably NOT duplicating NOTICE.txt in 20 places)?

Andy Jefferson added a comment - 14/Jun/06 01:42 AM
Hi Craig,
what we do with JPOX to get it in the jar is add it in the "resources" section under "build" in project.xml like this
<build>
        <sourceDirectory>src/java</sourceDirectory>
        <resources>
            <resource>
                <directory>${basedir}/..</directory>
                <includes>
                    <include>NOTICE.txt</include>
                </includes>
            </resource>
        </resources>

and to get it in the distribution (maven dist) we add this to maven.xml
    <preGoal name="dist:build-src">
        <ant:copy todir="${maven.build.dir}/${maven.final.name}/src/${maven.final.name}">
            <ant:fileset file="${basedir}/../NOTICE.txt" />
        </ant:copy>
    </preGoal>

We just put the LICENSE.txt, NOTICE.txt at the top level and then refer to them in the project.properties in each subproject

Not sure how that fits in with how you're doing it in Apache JDO, but hopefully gives you some ideas.

Craig Russell added a comment - 16/Jun/06 05:57 AM
Thanks for the comments on how JPOX does it. I think we can use a similar strategy here.

The following is a proposal for including the NOTICE.txt in our svn sources and distributions.

<proposal>
I'd like to have exactly one copy of each of LICENSE.txt and NOTICE.txt for the project in the trunk. So we should get rid of all of the LICENSE.txt files lower in the tree.

For the source distributions, we currently build a directory structure that contains README.txt and LICENSE.txt in the top level of the distribution, and that's where the NOTICE.txt should go.

For the binary jar distributions, we currently build a META-INF directory with the manifest and LICENSE.txt, andMETA-INF is where the NOTICE.txt should go.
</proposal>

Michael Bouschen added a comment - 17/Jun/06 04:44 AM
Attached you find a patch (JDO-386.patch) for review.

Here are the details:
- It removes the LICENSE.txt files in the subproject directories.
- It adds the NOTICE.txt file as resource in the project.xml files of the subprojects such that the file gets included in the generated jar (e.g. jdo2-api-<version>.jar). Setting the targetPath to META-INF in the resource definition makes sure the NOTICE.txt is located in the META-INF directory in the jar.
- It changes the preGoal dist:build-src to include LICENSE.txt and NOTICE.txt.
- It defines a preGoal for dist:build-bin to include LICENSE.txt, NOTICE.txt and README.txt in the zip of the binary distribution.

Craig Russell added a comment - 17/Jun/06 09:24 PM
Looks good!

Just one comment. You might want to modify this line of maven.xml to include LICENSE.txt and NOTICE.txt.
        <echo>Copying top-level README.txt to ${maven.dist.bin.archive.dir}</echo>

Michael Bouschen added a comment - 18/Jun/06 02:34 AM
I changed the line as proposed and checked in the patch (see revision 415048).