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] > >
