[ https://issues.apache.org/jira/browse/LABS-412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
jan iversen closed LABS-412. ---------------------------- Resolution: Won't Fix outdated and closed, if not correct please reopen. > [eclipse] Generate magma.locals on the fly based on Maven workspace > resolution. > ------------------------------------------------------------------------------- > > Key: LABS-412 > URL: https://issues.apache.org/jira/browse/LABS-412 > Project: Labs > Issue Type: New Feature > Components: Magma > Affects Versions: Next > Reporter: Simone Gianni > Fix For: Next > > > magma.locals is a file that magma:run reads when starting a Magma web > application. It offers a way for the developer to tell Magma to load stuff > from unpacked projects instead of loading it from packed jars. This is > extremely useful when debugging/writing resource files, like css or > javascript. > In fact, it is currently limited to resource folders. > Since now we have an Eclipse plugin that cooperates with Maven inside > Eclipse, we have a way to know which dependencies of a web project are > present in the workspace and where to locate them on the hard drive, so we > could generate magma.locals automatically (eventually with a different name, > inside the target folder, so that user additions are possible). > Moreover, since we have now a builder inside Eclipse, we could extend > magma.locals to load also classes in target-eclipse/classes if they are > present, so that we don't require the user to "clean install" all artifacts > when running a debug session from Eclipse. > A few checks should be in place to do this however : > - Do that only if target-eclipse/classes exists, obviously > - Do that only if target-eclipse/classes is more recent than the repository > jar file or target/classes > - What to do if the user has his own workspace version of an artifact but a > new one is found on the repository? I'd go for the workspace version (only > when running from Eclipse?) > (same problems are already there for resources, and resources from > magma.locals always take precedence over jar resources, but resources does > not usually crash the application, so probably we should care more if adding > also classes folders). > Another thing to evaluate is that classes in target-eclipse/classes are not > compiled with -XterminateAfterCompile, and this could create some problems to > the running instance due to some AspectJ bugs. > (just to name them explicitly, AspectJ is not yet ready for parallel > development of aspect libraries. So, closures generated by AspectJ takes > progressive numbers relative to the current compiler environment, and it > could happen that if two different packages are both independently weaving > into a third one, generated closures share the same number and conseguently > the same class names, creating conflicts on the running instance. Another > error happens when package B depends on package A that has aspect weaving > inside package B classes; if package A then REMOVES one of these aspects, > package B still refers to it, but the weaver SHOULD find out that the aspect > is not there anymore and remove it, instead it complains with an error, > requiring package B to be recompiled, making aspects analogous to public > interfaces when it comes to binary compatibility.) -- This message was sent by Atlassian JIRA (v6.2#6252) --------------------------------------------------------------------- To unsubscribe, e-mail: labs-unsubscr...@labs.apache.org For additional commands, e-mail: labs-h...@labs.apache.org