Yes, but again it delegates to plugin users this.

Is something like maven (on java) don't resolve dependencies, or resolve all
always (never use as transitive).  At current time flex-mojos is resolving
all dependencies, no one is transitive.  I just wanna make dependencies
transitive when, by it scope, make sense.


VELO

On Thu, Jun 5, 2008 at 10:38 AM, Igor Fedorenko <[EMAIL PROTECTED]> wrote:

> Marvin,
>
> Not that I know/understand much about maven dependency management, but can
> you not use "optional" element to mark dependencies that should not be
> re-exported (
> http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Transitive_Dependencies
> )
>
>
>
>
> Marvin Froeder wrote:
>
>> If a war depends on a SWF.
>>
>> And this SWF depends of a few SWCs.
>> I can look to scopes to embed/or not embed SWC into war.  If is a
>> merged/internal/external dependencies I can (and I will) just ignore this
>> SWC.  If is a RUNTIME I will add this SWC following SWF rsl policy.  If is
>> a
>> CHACHING dependency I will look for adobe optimized library and will add
>> to
>> war, again, following SWF rsl policy.
>>
>> If mySWC depends on flexlib.  And your project depends on mySWC doesn't
>> mean
>> your project depends on flexlib.  Depedens how I compile mySWC.  If I use
>> external scope you need to depende flexlib.  If I use merged ou internal
>> you
>> don't need even to know about flexlib existence.
>>
>> I just wanna to make things easier to user.  If he wanna to add a un used
>> dependency, just add a entry on dependencies.  If he wanna to remove a
>> required depedency just add exclusion on the depedency.
>>
>>
>> VELO
>>
>> On Thu, Jun 5, 2008 at 9:15 AM, Nigel Magnay <[EMAIL PROTECTED]>
>> wrote:
>>
>>  It isn't a dependency issue. Regardless of whether you use a swc
>>> dependency as a Runtime Shared Library or Merged Into Code, it's still
>>> a dependency on the project. These are compiler options.
>>>
>>> How you use it is exactly the same choices you'd have with, say, a WAR
>>> file with JAR dependencies, and wanting to manipulate the
>>> dependentWarIncludes, (or to explode classes from JARs into
>>> WEB-INF/classes, or assemble EAR files, or whatever). What if I depend
>>> on a POM project that contains SWC elements? I can't say 'make the
>>> dependency down there use this kind of compilation option' very
>>> easily, unless I burn in the same behaviour for *all* users of that
>>> Pom file, which isn't very desirable.
>>>
>>> Typically, you either use config values passed to the (compiler)
>>> plugin in the pom.xml, or as a seperate configuration file - for
>>> example, see the assembly plugin. You can specify groupId:artifactId
>>> elements there and what you're expecting it to do with them, and m2
>>> sorts out all the build ordering and versioning through the standard
>>> dependency mechanism. For example:
>>>
>>>
>>> http://maven.apache.org/plugins/maven-assembly-plugin/examples/single/including-and-excluding-artifacts.html
>>>
>>> The isralfi approach is better in this instance, as it consumes the
>>> same files that are generated by flex builder - thus for anyone using
>>> that tool, compile options are identical in their IDE to those in
>>> their m2 build, which is a nice thing. They're XML too, so even if
>>> you're not using FB, they're human-creatable.
>>>
>>> On Thu, Jun 5, 2008 at 1:00 PM, Marvin Froeder <[EMAIL PROTECTED]>
>>> wrote:
>>>
>>>> If I will put dependencies on separated files, why use maven
>>>>
>>> dependencies?
>>>
>>>> VELO
>>>>
>>>> On Thu, Jun 5, 2008 at 8:59 AM, Nigel Magnay <[EMAIL PROTECTED]>
>>>>
>>> wrote:
>>>
>>>> It's not a scope issue, it's a compiler options issue.
>>>>>
>>>>> You could just use the same mechanism that israfil flex mojo uses,
>>>>> which is to utilise the .flexLib / .actionScriptProperties files in
>>>>> order to determine whether to bind dependencies into the output or
>>>>> not.
>>>>>
>>>>> On Thu, Jun 5, 2008 at 12:21 PM, Marvin Froeder <[EMAIL PROTECTED]>
>>>>>
>>>> wrote:
>>>
>>>> Oh no, I can't do that.
>>>>>>
>>>>>> Doing this the plugin user will need to know how to resolve libraries.
>>>>>>  That
>>>>>> breaks all maven need.
>>>>>>
>>>>>>
>>>>>> VELO
>>>>>>
>>>>>> On Wed, Jun 4, 2008 at 11:07 PM, Brett Porter <[EMAIL PROTECTED]>
>>>>>>
>>>>> wrote:
>>>
>>>> It's an argument to the current resolution mechanism that lets you
>>>>>>>
>>>>>> make
>>>
>>>> a
>>>>>>> decision on whether to include every artifact. Maven has some
>>>>>>>
>>>>>> standard
>>>
>>>> filters for passing in lists in certain forms. You could look at the
>>>>>>> code of
>>>>>>> the assembly plugin for how those are used.
>>>>>>>
>>>>>>> How you configure it is up to you, but something like this would be
>>>>>>> expected:
>>>>>>>
>>>>>>> <runtimeLinkedLibraries>
>>>>>>>  <includes>
>>>>>>>   <include>someGroup:*</include>
>>>>>>>  </includes>
>>>>>>> </runtimeLinkedLibraries>
>>>>>>> <mergedLinkedLibraries>
>>>>>>>  <excludes>
>>>>>>>   <exclude>someGroup:*</include>
>>>>>>>  </excludes>
>>>>>>> </mergedLinkedLibraries>
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Brett
>>>>>>>
>>>>>>>
>>>>>>> On 05/06/2008, at 11:57 AM, Marvin Froeder wrote:
>>>>>>>
>>>>>>>  Can you give me some light about how this plugins filters works?
>>>>>>>
>>>>>>>> A where to start...
>>>>>>>>
>>>>>>>>
>>>>>>>> VELO
>>>>>>>>
>>>>>>>> On Wed, Jun 4, 2008 at 10:45 PM, Brett Porter <[EMAIL PROTECTED]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>  It's debatable whether the artifact resolution mechanism should
>>>>>>>> support
>>>>>>>>
>>>>>>>>> customisable scopes - I can see some justification from this, but
>>>>>>>>> these
>>>>>>>>> would all be flex specific, not blended in with the current set.
>>>>>>>>>
>>>>>>>>> I would suggest that the best approach for you to take is to
>>>>>>>>> configure
>>>>>>>>> filters on the plugins to apply these types of linking to certain
>>>>>>>>> artifacts
>>>>>>>>> from the Maven runtime scope set.
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Brett
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 05/06/2008, at 9:41 AM, Marvin Froeder wrote:
>>>>>>>>>
>>>>>>>>> Flex has 2 types of binaries SWC (jar like) and SWF runnable file,
>>>>>>>>> but is
>>>>>>>>>
>>>>>>>>>  not a library.
>>>>>>>>>>
>>>>>>>>>> Just keep in mind flex is very different from java.  SWF files
>>>>>>>>>>
>>>>>>>>> must
>>>
>>>> be
>>>>>>>>>> all
>>>>>>>>>> required libraries bounded into it own binary in order to run or
>>>>>>>>>> load at
>>>>>>>>>> runtime.
>>>>>>>>>>
>>>>>>>>>> Flex compiler has 5 ways to link libraries to application
>>>>>>>>>> * merged
>>>>>>>>>> * internal
>>>>>>>>>> * external
>>>>>>>>>> * runtime
>>>>>>>>>> * caching
>>>>>>>>>>
>>>>>>>>>> Merged will copy all required classes into the SWF.
>>>>>>>>>> Internal will copy all available classes into SWF
>>>>>>>>>> External will not copy (and in some situations application will
>>>>>>>>>>
>>>>>>>>> not
>>>
>>>> work,
>>>>>>>>>> but this is flex way to do things)
>>>>>>>>>> Runtime will load the library over internet on runtime (means 2
>>>>>>>>>>
>>>>>>>>> SWC
>>>
>>>> will
>>>>>>>>>> be
>>>>>>>>>> on server)
>>>>>>>>>> Caching will load some special optimized libraries like runtime.
>>>>>>>>>>
>>>>>>>>>> Just to be clear.
>>>>>>>>>> If I compile myLibrary with all external libraries will generate a
>>>>>>>>>> very
>>>>>>>>>> small SWC.  If all are merged will generate a little bigger SWC.
>>>>>>>>>>
>>>>>>>>>  If
>>>
>>>> all
>>>>>>>>>> are
>>>>>>>>>> internal will generate a huge SWC file. Caching, runtime and
>>>>>>>>>> external
>>>>>>>>>> will
>>>>>>>>>> all generate the smaller file, but caching and runtime are only
>>>>>>>>>>
>>>>>>>>> for
>>>
>>>> SWF,
>>>>>>>>>> so
>>>>>>>>>> no transitive problem.  SWF are dead ends. Runnable, but no
>>>>>>>>>> extendable.
>>>>>>>>>>
>>>>>>>>>> Right now, I define this on scopes. ie:
>>>>>>>>>>    <dependency>
>>>>>>>>>>        <groupId>com.adobe.flex.sdk</groupId>
>>>>>>>>>>        <artifactId>playerglobal</artifactId>
>>>>>>>>>>        <version>10.0.0-beta-051508</version>
>>>>>>>>>>        <type>swc</type>
>>>>>>>>>>        <scope>external</scope>
>>>>>>>>>>    </dependency>
>>>>>>>>>>
>>>>>>>>>> Well, when myLibrary has merged or internal libraries, those
>>>>>>>>>> libraries
>>>>>>>>>> doesn't need to be transitive.  myLibrary will be compiled with
>>>>>>>>>>
>>>>>>>>> all
>>>
>>>> required
>>>>>>>>>> data.  So transitivity make no sense.
>>>>>>>>>>
>>>>>>>>>> When I have a library with external libraries and this library is
>>>>>>>>>> used
>>>>>>>>>> to
>>>>>>>>>> compile a application as merged, I need to merge all libraries,
>>>>>>>>>> because
>>>>>>>>>> my
>>>>>>>>>> library have externalized others libraries content.
>>>>>>>>>>
>>>>>>>>>> Its a little confuse, specilly for who comes from Java.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> VELO
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wed, Jun 4, 2008 at 8:15 PM, Jason van Zyl <[EMAIL PROTECTED]>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> I think you need to explain more about what the problem is. I'm
>>>>>>>>>>
>>>>>>>>> not
>>>
>>>> sure
>>>>>>>>>>
>>>>>>>>>>  you will need a new scope.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 4-Jun-08, at 2:22 PM, Marvin Froeder wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi guys,
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  I try this on users list, but now answer.
>>>>>>>>>>>>
>>>>>>>>>>>> I have develop my on plugin for compiling flex with maven (
>>>>>>>>>>>> http://blog.flex-mojos.info/).
>>>>>>>>>>>>
>>>>>>>>>>>> Flex is different from Java in several ways.  One of this ways
>>>>>>>>>>>>
>>>>>>>>>>> are
>>>
>>>> related
>>>>>>>>>>>> to libraries scopes.
>>>>>>>>>>>>
>>>>>>>>>>>> Was need to add other scopes in order to compile flex.  Now I
>>>>>>>>>>>>
>>>>>>>>>>> need
>>>
>>>> to
>>>>>>>>>>>> customize maven dependency resolution mechanism to use some of
>>>>>>>>>>>> this
>>>>>>>>>>>> dependencies as non transitive.  The big question is, how?
>>>>>>>>>>>>
>>>>>>>>>>>  Pexus
>>>
>>>> will
>>>>>>>>>>>> accept that?  I will need to right my own resolution mechanism?
>>>>>>>>>>>>  Can
>>>>>>>>>>>> anyone
>>>>>>>>>>>> give me a light on this matter?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> VELO
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to