Thanks for the spec , the story and  the adjustements before integration.
I'll take time to work on the next story and make a pull request as soon as
possible.


Cheers,
Sébastien

2012/12/12 Adam Murdoch <[email protected]>

>
> On 12/12/2012, at 12:36 AM, Sébastien Cogneau wrote:
>
> I've updated the pull request.
>
> Hope this helps.
>
>
> Thanks for this. We'll apply it soon.
>
> If you're interested in continuing to work on these plugins, I've updated
> the spec to reflect what I think we should tackle next, which is to extract
> a 'distribution' plugin that is shared by the java library and application
> plugins.
>
> The spec is here:
> https://github.com/gradle/gradle/blob/master/design-docs/building-and-packaging-applications-and-libraries.md
>
> The next story is this:
> https://github.com/gradle/gradle/blob/master/design-docs/building-and-packaging-applications-and-libraries.md#introduce-a-basic-distribution-plugin
>
> The stories that follow will incrementally change things to share more
> stuff between the java library, application and distribution plugins.
>
> There's no publishing stories in the spec, yet, as we're still working
> through the design for this as part of the new publication DSL work.
>
>
>
> Sébastien
>
> 2012/12/3 Adam Murdoch <[email protected]>
>
>>
>> On 03/12/2012, at 2:38 AM, Sébastien Cogneau wrote:
>>
>> Hi,
>>
>> I'm agree, it would be better to rename the plug-in to
>> 'jvm-library-distribution'.
>> Do you want me to modify the pull-request ?
>>
>>
>> Yes, please.
>>
>>
>> I'm really interested in working on the next steps , is it possible ?
>>
>>
>> Absolutely. That would be excellent.
>>
>> If yes, how do you want to proceed ?
>>
>>
>> I think we should continue with the plan below. Step #1 overlaps quite a
>> bit with the publishing stuff we're currently doing for the 1.4 release,
>> and it might be tricky to coordinate things. We might skip to step #2
>> instead.
>>
>> I'll update the spec soon.
>>
>>
>>
>> Cheers,
>>
>> Sébastien.
>>
>>
>> 2012/11/29 Adam Murdoch <[email protected]>
>>
>>> Hi,
>>>
>>> We have a pull request queued up that adds a 'java-library' plugin:
>>> https://github.com/gradle/gradle/pull/101
>>>
>>> The idea behind this plugin that it will build a distribution zip or tgz
>>> for a jvm based library, which you can use for distributing the library,
>>> generally as an alternative or complement to publishing the library to a
>>> repository somewhere.
>>>
>>> We've held off applying this pull request while we sorted out some of
>>> the new publication stuff. I think we're now ready to add this plugin.
>>>
>>> One issue is that the plugin id 'java-library' is a bit too general for
>>> what this plugin does, and we want to use 'java-library' for other purposes
>>> (see below), so I would propose renaming it to something like
>>> 'jvm-library-distribution' to reflect what it does.
>>>
>>> Then, once added, we can (incrementally, of course):
>>>
>>> 1. Add a 'java-library' plugin that declares that the project produces a
>>> Java library. This would be an opinionated plugin that defines a main Java
>>> library component. It would publish the component. There will be a base
>>> plugin that adds the capability for building Jvm library components.
>>> 2. Extract a 'distribution' plugin out of the 'jvm-library-distribution'
>>> and 'application' plugins. This would be an opinionated plugin that defines
>>> a single distribution which contains all library and application components
>>> that the project produces. It would also publish the distribution. There
>>> will be a base plugin that adds the capability for building distributions
>>> from components.
>>> 3. Deprecate and remove the 'jvm-library-distribution' plugin. You'd use
>>> the 'java-library' and 'distribution' plugins together instead.
>>> 4. Extract a 'java-application' plugin out of the 'application' plugin.
>>> This would be an opinionated plugin that defines a main Java application
>>> component. It would publish the component. There will be a base plugin that
>>> adds the capability for building Jvm application components.
>>> 5. Deprecate and remove the 'application' plugin. You'd use the
>>> 'java-application' and 'distribution' plugins together instead.
>>> 6. Change the c++ plugins to define library and application components
>>> for the libraries and executables it creates. You could then use the
>>> 'distribution' plugin to bundle these things into a distribution.
>>>
>>> Then we can do all kinds of interesting things:
>>> 7. Add plugins to offer additional ways to package Java application
>>> components: executable fat jar, native executable, .app bundle, etc.
>>>  8. Add an 'rpm' plugin that uses the meta-data for the library and
>>> application components to generate rpms for those components.
>>> 9. Add a 'java-daemon' plugin that can take a jvm application component
>>> and package it as a daemon/service.
>>>
>>> So, net result is:
>>>
>>> apply plugin: 'java-library'
>>> apply plugin: 'distribution'
>>>
>>> Running 'gradle assemble' will build a .zip and .tgz containing the
>>> library Jar, the API documentation, the jars for the runtime dependencies,
>>> etc.
>>>
>>> apply plugin: 'cpp-lib'
>>> apply plugin: 'distribution'
>>>
>>> Running 'gradle assemble' will build a .zip and .tgz containing all
>>> variants of the native library, plus the API docs, etc (or perhaps it
>>> builds a zip/tgz per variant).
>>>
>>> apply plugin: 'scala-library'
>>> apply plugin: 'distribution'
>>>
>>> Running 'gradle assemble' will build a .zip and .tgz containing all
>>> variants of the library Jar, the API docs, the jars for runtime
>>> dependencies for each variant, etc.
>>>
>>> Step #1 we need to do soon, to make progress on the publishing DSL. The
>>> other steps can happen whenever. I think we should apply the pull request
>>> as is, rename the plugin, and then do the remaining steps in the master
>>> branch.
>>>
>>>
>>>  --
>>> Adam Murdoch
>>> Gradle Co-founder
>>> http://www.gradle.org
>>> VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
>>> http://www.gradleware.com
>>>
>>>
>>
>>
>> --
>> Adam Murdoch
>> Gradle Co-founder
>> http://www.gradle.org
>> VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
>> http://www.gradleware.com
>>
>>
>
>
> --
> Adam Murdoch
> Gradle Co-founder
> http://www.gradle.org
> VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
> http://www.gradleware.com
>
>

Reply via email to