Not really:
1. I need to have the gav
2. Please never set Class-Path of the manifest. It leads to broken runtime
in most environments :(.


Le 8 févr. 2018 05:19, "Lukasz Cwik" <lc...@google.com> a écrit :

> Looking at the Gradle shadow plugin, it seems like it is doing what you
> ask. Does this fit your usecase?
>
> From: http://imperceptiblethoughts.com/shadow/#configuring_the_
> runtime_classpath
>
> Additionally, Shadow automatically configures the manifest of the
> shadowJar task to contain a Class-Path entry in the JAR manifest. The
> value of the Class-Path entry is the name of all dependencies resolved in
> the shadow configuration for the project.
>
> dependencies {
>   shadow 'junit:junit:3.8.2'
> }
>
> Inspecting the META-INF/MANIFEST.MF entry in the JAR file will reveal the
> following attribute:
>
> Class-Path: junit-3.8.2.jar
>
>
>
> On Wed, Feb 7, 2018 at 9:27 AM, Romain Manni-Bucau <rmannibu...@gmail.com>
> wrote:
>
>>
>>
>> 2018-02-07 18:21 GMT+01:00 Lukasz Cwik <lc...@google.com>:
>>
>>> What kinds of features would this enable within the Apache Beam SDK or
>>> allow for users to write (looking for some reason as to why this is not
>>> just a one off change to support a use case)?
>>>
>>
>> It allows to build a classpath and to rely on beam without requiring
>> maven to resolve the poms and it is way faster than resolving pom model. I
>> full ack it is a bit limit like case but it doesn't cost much to beam too
>> so thought I could ask before
>> doing something 100% custom.
>>
>>
>>> Would it list all the transitive dependencies?
>>>
>>
>> all runtime ones (= not test and provided ones - even if i can live with
>> it listing them all, I just don't see why it would)
>>
>>
>>>
>>> How would you test that it works?
>>>
>>
>> It is a maven plugin so not sure it requires a test in beam itself but on
>> my side I have some test for this kind of thing already running a server
>> from this kind of file typically.
>>
>>
>>>
>>> On Wed, Feb 7, 2018 at 7:23 AM, Romain Manni-Bucau <
>>> rmannibu...@gmail.com> wrote:
>>>
>>>> Hi guys,
>>>>
>>>> I have a use case where I would resolve beam classpath
>>>> programmatically. I wonder if it would be possible to add in META-INF (or
>>>> BEAM-INF, in the jar is the main request ;)) a dependencies.txt (or other
>>>> file) listing all the mandatory dependencies. I'm mainly interested by the
>>>> java sdk core module but can be beneficial to others as well.
>>>>
>>>> With maven it is just a matter of defining:
>>>>
>>>> <plugin>
>>>>   <groupId>org.apache.maven.plugins</groupId>
>>>>   <artifactId>maven-dependency-plugin</artifactId>
>>>>   <version>${dependency-plugin.version}</version>
>>>>   <executions>
>>>>     <execution>
>>>>       <id>create-META-INF/dependencies.txt</id>
>>>>       <phase>prepare-package</phase>
>>>>       <goals>
>>>>         <goal>list</goal>
>>>>       </goals>
>>>>       <configuration>
>>>>         
>>>> <outputFile>${project.build.outputDirectory}/META-INF/dependencies.txt</outputFile>
>>>>       </configuration>
>>>>     </execution>
>>>>   </executions>
>>>> </plugin>
>>>>
>>>> with gradle it is a loop around a resolvedconfiguration which dumps the
>>>> artifacts in a maven format (group:name:type:version)
>>>>
>>>> My interest of it being in beam is to be able to upgrade beam without
>>>> having to re-release these metadata.
>>>>
>>>> Is it something the project could be interested in?
>>>>
>>>> Romain Manni-Bucau
>>>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>>>> <https://rmannibucau.metawerx.net/> | Old Blog
>>>> <http://rmannibucau.wordpress.com> | Github
>>>> <https://github.com/rmannibucau> | LinkedIn
>>>> <https://www.linkedin.com/in/rmannibucau> | Book
>>>> <https://www.packtpub.com/application-development/java-ee-8-high-performance>
>>>>
>>>
>>>
>>
>

Reply via email to