uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Klügl <pklu...@uni-wuerzburg.de>
Subject Re: [VOTE] Apache UIMA TextMarker Release Candidate 1
Date Fri, 25 Jan 2013 18:17:42 GMT
I think we should add the additional licenses to the LICENSE file like 
we do it for the NOTICE file. Maybe we can externalize the license 
strings with properties:read-project-properties.



On 25.01.2013 18:59, Peter Klügl wrote:
> The binaries and the top level (release) sources look fine now, but I 
> have a problem with the individual sources.
> Can someone give me a hint how to get a customized LICENSE file into 
> the sources in our build?
> Or, a pointer how the LICENSE file is included by the 
> maven-source-plugin. Anything I did was either ignored or overridden.
> Peter
> On 25.01.2013 16:35, Marshall Schor wrote:
>> hi - I'm digging into this.
>> Here's what I've found so far (taking the uimaj-ep-configurator 
>> project as a
>> sample).
>> The build process chain includes early on the maven-remote-resources 
>> plugin.
>> This fetches "standard" things from a standard place for the license 
>> and notice
>> files, puts them into
>> .../target/maven-shared-archive-resources.
>> The maven-remote-resources plugin runs "velocity" macro expansion; 
>> this allows
>> inserting at build time extra stuff.  Our Notice template (in
>> build/trunk/uima-build-resources/src/main/resources/META-INF/NOTICE.vm) 
>> is a
>> slight modification from the Apache-wide Notice template, in that it 
>> has an
>> extra bit at the bottom that says, if the maven property
>> "project.properties.postNoticeText" is set, then insert it.  We use 
>> this to
>> modify the Notice file for things which originally had IBM copyrights 
>> which were
>> moved to the notice file.
>> The documentation for the maven-remote-resources plugin says the goal 
>> we're
>> using ("process") after running the velocity macro expansion on the 
>> resources,
>> they "are injected into the current (in-memory) Maven project, making 
>> them
>> available to the process-resources phase."
>> What you have to know to have this make sense, is that if you have
>> (subsequently) an invocation of the maven-resources-plugin with the 
>> "resources"
>> goal, running in the "process-resources" phase, then that will copy 
>> the files in
>> .../target/maven-shared-archive-resources into the .../target/classes 
>> spot - so
>> the eventual JAR plugin will package these (it Jars up everything it 
>> finds in
>> the .../target/classes directory).
>> So, that's how the files get to the right spot in the Jar.
>> I think our current build process is lacking the ability to do 
>> customization of
>> the LICENSE file prototype.  We could modify that, to work just like 
>> the Notice
>> file works, to allow extending the standard LICENSE with arbitrary 
>> text.  We
>> might want to do something different, though, in the case of large 
>> modifications
>> to the standard LICENSE / NOTICE files.  One thing that would 
>> probably work is
>> to use a copy-resources kind of step to replace/override the "standard"
>> LICENSE/NOTICE files in ...target/classes/MEAT-INF with the custom 
>> ones from
>> some standard spot (I would suggest using the same spot as you 
>> already used).
>> =====================
>> I think the reason this hasn't come up before, is that the JARs we 
>> built did not
>> (normally) contain other Jars that needed special LICENSE/NOTICE 
>> files.  The
>> things that did have that need were normally zip and tar assemblies 
>> of JARs,
>> where we used the assembly plugin to do this packaging.
>> I haven't looked to see what the case is with your packaging - if 
>> you're using
>> Assembly, then there are other conventions involving the instructions 
>> you were
>> following.  My guess is that you're not using assembly, so those 
>> instructions
>> don't help.
>> =====================
>> Let me know if you need help in doing something like this...
>> -Marshall
>> On 1/25/2013 8:40 AM, Peter Klügl wrote:
>>> On 25.01.2013 14:02, Jörn Kottmann wrote:
>>>> On 01/25/2013 01:13 PM, Peter Klügl wrote:
>>>>> If I undestand that correctly, then I have to remove ANTLR and 
>>>>> htmlparser
>>>>> from the NOTICE/LICENSE in the top level project since they are 
>>>>> both not
>>>>> part of the source release. Then, I have to add NOTICE/LICENSE 
>>>>> files (with
>>>>> ANTLR and htmlparser) to src/main/readme/ in the top level project 
>>>>> and to
>>>>> the uimaj-ep-textmarker-engine project since those two binaries 
>>>>> will contain
>>>>> the third party libraries. The other plugins also need their own
>>>>> NOTICE/LICENSE files in src/main/readme/ since they contain the 
>>>>> icons. Is
>>>>> that correct? Is there a shortcut, something that influences maven 
>>>>> what to
>>>>> put in those files, or which file to copy?
>>>> +1, sounds good.
>>> Unfortunately, this did not work. I added individual LICENSE/NOTICE 
>>> files to
>>> src/main/readme in uimaj-ep-textmarker-engine but the binary just 
>>> contains the
>>> default files and additionally files with ".txt" extension and the same
>>> content. The -sources jar contains also only the default files.
>>> Any ideas?
>>> Peter
>>>> Jörn

View raw message