Well, is possible to do with option.  Or with filters.  But doing so I
delegating this to user and plugin can handle that.

Imagine on java, if maven depedency mechanism doesn't handle provided, when
I use provided dependencies I need to mark they optional?!

I just wanna keep flex easy as java.


VELO

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

> I may not fully understand the problem, but if mySWC marks dependency on
> flexlib as optional, then war that depends on mySWC will not automatically
> get flexlib as a dependency. Is not this what you want? The only drawback I
> see is that users would need to keep "optional" dependency flag consistent
> with merged/internal/external compiler flag in mySWC/pom.xml, but compiler
> could detect and warn about inconsistencies.
>
>
> Marvin Froeder wrote:
>
>> 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]
>>>
>>>
>>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to