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