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 > >> >>>>>>> > >> >>>>>>> > >> >>>>>>> Thanks, > >> >>>>>> > >> >>>>>> Jason > >> >>>>>> > >> >>>>>> ---------------------------------------------------------- > >> >>>>>> Jason van Zyl > >> >>>>>> Founder, Apache Maven > >> >>>>>> jason at sonatype dot com > >> >>>>>> ---------------------------------------------------------- > >> >>>>>> > >> >>>>>> We all have problems. How we deal with them is a measure of our > >> >>>>>> worth. > >> >>>>>> > >> >>>>>> -- Unknown > >> >>>>>> > >> >>>>>> > >> >>>>>> > >> >>>>>> > >> >>>>>> > --------------------------------------------------------------------- > >> >>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >>>>>> For additional commands, e-mail: [EMAIL PROTECTED] > >> >>>>>> > >> >>>>>> > >> >>>>>> > >> >>>>>> -- > >> >>>> Brett Porter > >> >>>> [EMAIL PROTECTED] > >> >>>> http://blogs.exist.com/bporter/ > >> >>>> > >> >>>> > >> >>>> > >> >>>> > --------------------------------------------------------------------- > >> >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >>>> For additional commands, e-mail: [EMAIL PROTECTED] > >> >>>> > >> >>>> > >> >>>> > >> >> -- > >> >> Brett Porter > >> >> [EMAIL PROTECTED] > >> >> http://blogs.exist.com/bporter/ > >> >> > >> >> > >> >> --------------------------------------------------------------------- > >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >> For additional commands, e-mail: [EMAIL PROTECTED] > >> >> > >> >> > >> > > > > > >