Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [eclipselink-dev] Expanding 'standards' for build files.

The example code using the other option is like:

common.plugin.dir=./plugins
external.depends.dir=../external.lib
junit.lib=junit-4.5.jar
junit.dir=${external.depends.dir}


after testing for existence of junit.lib and others...
<path pathref="external.compile.deps.path">
    <pathelement ="${junit.dir}/${junit.lib}/>
    <pathelement="${jdbc.dir}/${jdbc.lib}"/>
    ...
</path>

It looks like there are no differences but personal preferences. Either option is fine for me.

Thanks,
Edwin

-----Original Message-----
From: Eric Gwin 
Sent: Friday, November 27, 2009 10:46 AM
To: Dev mailing list for Eclipse Persistence Services
Subject: Re: [eclipselink-dev] Expanding 'standards' for build files.


So if you want to say use "junit.jar" as the filename, you only need to 
redefine ${junit.jar}, if you want a different directory to hold all 
your dependencies you only need to redefine ${external.depends.dir}, and 
if you want to do both and use a custom named xdb-11-rel2.jar, in a 
completely seperate location with the previous setup you could simply 
add a redefinition of ${xdb.lib}.

-Eric

Eric Gwin wrote:
> It doesn't. It's more like: (values are just for example...):
>
> common.plugin.dir=./plugins
> external.depends.dir=../external.lib
> junit.jar=junit-4.5.jar
> junit.lib=${external.depends.dir}/${junit.jar}
>
>
> after testing for existence of junit.lib and others...
> <path pathref="external.compile.deps.path">
>     <pathelement ="${junit.lib}/>
>     <pathelement="${jdbc.lib}"/>
>     ...
> </path>
>
> That minimal redefinitions need to be made for jar names or dirs if 
> they are customized, and jars can be grouped together, or in different 
> dirs, as required by the developer/user. However, the defined location 
> can still be tested for (verify it is found), before it is added to a 
> classpath (which in many cases will cause errors if it doesn't exist).
>
> -Eric
>
> Edwin Tang wrote:
>> Hi Gordon,
>>
>> If the proposal includes a plan to introduce <name>.dir for every 
>> single jar file, then there are no substantial differences between 
>> these 2 options.
>>
>> Thanks,
>> Edwin
>>
>> -----Original Message-----
>> From: Gordon Yorke Sent: Friday, November 27, 2009 9:34 AM
>> To: Dev mailing list for Eclipse Persistence Services
>> Subject: Re: [eclipselink-dev] Expanding 'standards' for build files.
>>
>>
>> I prefer Eric's proposal for <name>.jar, <name>.lib and <name>.dir
>> --Gordon
>>
>> Edwin Tang wrote:
>>  
>>> Hi Eric,
>>>
>>> This is great initiative.
>>>
>>> Probably, instead of <name>.jar, <name>.lib and <name>.path, it 
>>> could better that we have
>>> <name>.dir: the location of a jar file
>>> <name>.lib: a jar file name
>>> <name>.path: a path element defined by <pathelement 
>>> path="${<name>.dir}/${<name>.lib}"/>
>>>
>>> The benifits of this option are:
>>> 1. Users have full flexibility to able to customize <name>.dir, 
>>> <name>.lib, or both for every single jar file
>>> 2. Avoid the difficulty to choose a sound property name - <name>.jar 
>>> or <name>.jarfile
>>> 3. Be consistent with the TopLink test/build naming conventions
>>>
>>> Thanks,
>>> Edwin
>>>
>>> -----Original Message-----
>>> From: Eric Gwin Sent: Thursday, November 26, 2009 8:06 AM
>>> To: Dev mailing list for Eclipse Persistence Services
>>> Subject: [eclipselink-dev] Expanding 'standards' for build files.
>>>
>>>
>>> Hi,
>>>
>>> I'm sending this out as a notification/proposal of some additional 
>>> standard conventions I plan on adding to our build files after the 
>>> branch.
>>>      - properties ending in .jar define jarfile names only (no path)
>>>      - properties ending in .lib are fully qualified jars (path and 
>>> filename)
>>>      - properties ending in .dir are directory paths
>>>      - properties ending in .path are path refid names (classpath 
>>> fragments)
>>>      - targets beginning with test- are reserved for high level test 
>>> targets,
>>>        and are used in test results parsing
>>>      - targets typically use the form <action>-<object>-<type> (ie. 
>>> package-bundle-zip)
>>>
>>> Some are clarifications of standards already in place, but not well 
>>> publicized. However, with regard to .jar/.lib and .dir/.path there 
>>> is no current standard, and properties are named and used in a 
>>> fairly random mostly interchangeable way. There are many reasons 
>>> this is becoming an issue now, but here are the biggest:
>>>      - bugs requesting the use of minimal classpaths necessitate the 
>>> need to individually
>>>        define libraries. However, the build has multiple entry 
>>> points so paths to those
>>>        libraries are relative to the entry point. So the need to 
>>> separate path from jar name.
>>>      - adding individual libraries (rather than 
>>> eclipselink.core.depend or eclipslink.oracle.depend
>>>         which list them all) also creates a need to separately 
>>> define directories and classpath subsets.
>>>
>>> For the most part I've tried to keep the usage most prevalent for 
>>> each postfix
>>>  -.lib was mostly used to define full paths to jars, while .jar 
>>> mostly defined jar names. However,
>>>    there are also a few non-conformant properties 
>>> (eclipselink.jar.name and .jarfile)
>>>  -.dir really hasn't changed at all, but there were a few uses where 
>>> it was a defining a pathref
>>>  -.path is pretty much new old pathrefs were either .dir or .classpath
>>>
>>> While I needed to implement these changes for the oracle modules for 
>>> critical fixes in 2.0.0, I plan on implementing these changes across 
>>> the board  after the branch and discussion has occurred.
>>>
>>> Does anyone object to these standards, or have preferences other 
>>> than what I plan to implement? I can see .jarfile being used as the 
>>> standard postfix because the property can't easily be confused with 
>>> a static usage of a jar, but it wasn't routinely used.
>>>
>>> Comments? (If I hear nothing from you I will assume it is assent, 
>>> and continue as outlined after the branch is complete.)
>>>
>>> -Eric
>>> _______________________________________________
>>> eclipselink-dev mailing list
>>> eclipselink-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
>>> _______________________________________________
>>> eclipselink-dev mailing list
>>> eclipselink-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
>>>       
>> _______________________________________________
>> eclipselink-dev mailing list
>> eclipselink-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
>> _______________________________________________
>> eclipselink-dev mailing list
>> eclipselink-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
>>
>>   
> _______________________________________________
> eclipselink-dev mailing list
> eclipselink-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
>
_______________________________________________
eclipselink-dev mailing list
eclipselink-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-dev


Back to the top