On Thu, Aug 26, 2010 at 4:52 PM, Jacob Beard <jbea...@cs.mcgill.ca> wrote:
> Hi,
>
> I've brought up a question on the maven list which I was wondering if others
> could weigh on. Basically, the question is what is the best way to deal with
> JavaScript library dependencies for which no Maven repository exists. One
> person has encouraged me to set up a Maven repository on my personal server
> using Apache Archiva, and provide these libraries there, then simply link to
> them as dependencies in the main project pom.xml. Another person has said
> that I can simply call AntRun from an early phase to download these
> dependencies using my current Ant script.
>
<snip/>

The latter will work better. The former sets you up to do an undue
amount of work, serve as a point of distribution as well as failure
and relies on adding a reference to the repo you host into the project
pom -- downsides galore.

I will make some general comments about feedback from Maven lists in
this context:

 * While figuring out how the Maven central repo (or some other)
should host popular JavaScript libraries of the day is a good goal in
itself, for the purpose of the [scxml-js] build that is not the
problem we are trying to solve for everyone else.
 * More generally, the lists are understandably drunk on Maven
cool-aid (very well-intended too, no doubt) to the point where the
pragmatic view of getting the [scxml-js] build set up using the
Commons release infrastructure could get lost in the theoretical
arguments of the Maven way.
 * Many of the proposed solutions will make more sense for work type
settings (such as setting up a maven repo manager etc.) but are not
very applicable to Apache Commons components.

After talking to Maven lists, its best to make final Maven-related
decisions on the Commons list as with this thread. So thanks for
asking here.

-Rahul


> I'd appreciate hearing others' opinions on this. Thanks,
>
> Jake
>
> On 10-08-25 06:58 PM, Rahul Akolkar wrote:
>>
>> On Wed, Aug 25, 2010 at 6:13 PM, sebb<seb...@gmail.com>  wrote:
>>
>>>
>>> On 25 August 2010 22:23, Rahul Akolkar<rahul.akol...@gmail.com>  wrote:
>>>
>>>>
>>>> On Wed, Aug 25, 2010 at 4:51 PM, Jacob Beard<jbea...@cs.mcgill.ca>
>>>>  wrote:
>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> I've completed initial integration of Maven with the Ant build script.
>>>>> Maven's compile phase now builds the combined js file and the single
>>>>> class
>>>>> file. The package phase is then able to successfully create an
>>>>> executable
>>>>> jar.
>>>>>
>>>>>
>>>>
>>>> <snip/>
>>>>
>>>> Cool.
>>>>
>>>>
>>>>
>>>>>
>>>>> My next question is, is it important to phase out getDeps.xml, the ant
>>>>> script that downloads required JavaScript and Java libraries for the
>>>>> project, in favor of a Maven solution?
>>>>>
>>>>> Many of the required libraries downloaded in getDeps.xml do not have a
>>>>> maven
>>>>> repository, but at the same time, many do, including commons-cli and
>>>>> xalan.
>>>>> These could perhaps be downloaded by Maven. Is a hybrid solution the
>>>>> best
>>>>> approach?
>>>>>
>>>>>
>>>>
>>>> <snap/>
>>>>
>>>> I'd say so, there is value to having the Java deps listed in the pom
>>>> rather than elsewhere, so they get taken care of as part of the
>>>> Maven's management of dependencies. The binaries distros in Commons
>>>> don't actually contain dependency jars so there is no need to download
>>>> (beyond being in the m2 local repo) or copy them into distros.
>>>>
>>>> Seems like the JavaScript deps that aren't in the repo will
>>>> necessitate the hybrid approach. One way would be to fetch these
>>>> during another antrun execution tied to one of the earlier phases.
>>>>
>>>
>>> Maybe also add the dependencies to the POM as "provided"?
>>>
>>>
>>
>> <snip/>
>>
>> If you're talking about the JS deps, no. These aren't on central (and
>> don't have their own repos either).
>>
>> -Rahul
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to