ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexey Lunacharsky <a...@katlex.com>
Subject Re: Java Packaging Tool - one for development and using. The best wish of many developers
Date Mon, 18 Jan 2010 23:55:19 GMT
That are a good news.
I like groovy for its agility and found on par with gant very
good solution for crossplatform scripting

2010/1/18 Paul King <paulk@asert.com.au>

>
> Yes, startup speed can be a factor though I am not sure it is as bad
> as 10 times slower these days. Some potentially useful info for you:
>
> * if you grab 1.7.1 snapshot or 1.8 snapshot from one of the CI servers
> then it avoids one of the big startup delays due to DGM
> class loading by loading that info in one go as serialised data.
>
> * targeted for 1.8 but not yet finished is some lazy loading logic
> which should speed that up even further
>
> * also targeted for 1.8 is a modularisation of the libraries so you
> could package up a streamlined Groovy system that would load quicker
> if you didn't need all of the library functionality
>
> * there is a still experimental static groovy project which performs
> on par with Java which might allow you to gain some further speed.
>
> So, while Groovy isn't the only game in town these days in terms of
> innovative languages on the JVM, it should only improve in the areas
> that are of concern to you.
>
>
> Cheers, Paul.
>
> Alexey Lunacharsky wrote:
>
>> Thanks you a lot.
>>
>> I've heard about grape. But didn't know it is almost what I need.
>> It is very good point to start... But
>> The biggest problem with groovy it is very slow at startup.
>> The pure java solution such Ivy or thin wrapped with ant scripting can be
>> about 10 times faster for
>> using from command shell.
>>
>> 2010/1/18 Paul King <paulk@asert.com.au>
>>
>>  Paul King wrote:
>>>
>>>  Not 100% the same as what you suggest but Groovy's Grape system does
>>>> some
>>>> of what you are asking for. Normally Grapes are used from within
>>>> scripts,
>>>> e.g.:
>>>>
>>>> @Grab('org.apache.ant:ant:1.7.1')
>>>> import org.apache.tools.ant.Main
>>>> Main.main(['-version'] as String[])
>>>>
>>>> but it also has a commandline interface. Excerpt from doco shown below:
>>>>
>>>> <doco>
>>>> Command Line Tools
>>>>
>>>> grape install <groupId> <artifactId> [<version>]
>>>>
>>>> This installs the specified groovy module or maven artifact. If a
>>>> version
>>>> is specified that specific version will be installed, otherwise the most
>>>> recent version will be used (as if '*' we passed in).
>>>>
>>>>  Even though the doco says maven artifact, it is Ivy under the covers
>>> so it is strictly speaking an Ivy artifact which can be and often is
>>> a maven artifact.
>>>
>>> Paul.
>>>
>>>
>>>  grape list
>>>
>>>> Lists locally installed modules (with their full maven name in the case
>>>> of
>>>> groovy modules) and versions.
>>>>
>>>> grape resolve (<groupId> <artifactId> <version>)+
>>>>
>>>> This returns the file locations of the jars representing the artifcats
>>>> for
>>>> the specified module(s) and the respective transitive dependencies.
>>>> </doco>
>>>>
>>>> This may not be what you want but might be a useful starting point.
>>>>
>>>>
>>>> Cheers, Paul.
>>>>
>>>>
>>>>
>>>> Alexey Lunacharsky wrote:
>>>>
>>>>  Hello!
>>>>>
>>>>> Does anybody think about imlementation a "Debian APT"-like tool on the
>>>>> top
>>>>> of an Ivy dependency manager. It can manage all java binaries and
>>>>> source
>>>>> installation in the system on user level,
>>>>> through home directory located workspace, or on admin level through FHS
>>>>> on
>>>>> Unix systems.
>>>>>
>>>>> For the give what I mean I write some high level usage examples, which
>>>>> can
>>>>> be used in unit tests):
>>>>>
>>>>> $ jpt install apache-ant-1.7.0
>>>>>
>>>>> by this command ant and all of its dependencies (jars and maybe other
>>>>> resources such jpt run configurations) are get downloaded and become
>>>>> available in ivy cache and it can be run by:
>>>>>
>>>>> $ jpt run apache-ant
>>>>>
>>>>> This execution will find and organize classpath through ivy depencies
>>>>> review, and than
>>>>> run spesified class (which is specified through jpt run configuation
>>>>> XML
>>>>> file)
>>>>>
>>>>> $ jpt wrap apache-ant ant
>>>>>
>>>>> Creates system dependent warapper script for running application
>>>>> through
>>>>> 'jpt run'.
>>>>>
>>>>> $ ant
>>>>>
>>>>> will now execute $ jpt run apache-ant
>>>>>
>>>>> $ jpt unwrap ant
>>>>>
>>>>> now wrapper no more exist
>>>>>
>>>>> $ ant
>>>>>
>>>>> no such command
>>>>>
>>>>> $ jpt uninstall apache-ant-1.7.0
>>>>>
>>>>> deletes a softfare binaries if there is no dependencies remain
>>>>>
>>>>> And so on.
>>>>>
>>>>> In future it can manage also the libraries source code. And be used for
>>>>> development environment buildings based on ant or gant scripts.
>>>>> So many software can be integrated on the top of spring framework etc.
>>>>>
>>>>> This is the system of my dream!
>>>>>
>>>>> So I will be very glad if you tell me, if such the system have already
>>>>> exist
>>>>> or
>>>>> why to not imlement such as a thin wrapper across the Ivy?
>>>>>
>>>>>
>>>>>  ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
>>>> For additional commands, e-mail: dev-help@ant.apache.org
>>>>
>>>>
>>>>
>>>>  ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
>>> For additional commands, e-mail: dev-help@ant.apache.org
>>>
>>>
>>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>
>


-- 
Best regards, Alexey Lunacharsky (http://alun.katlex.com/en)

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message