On 5 October 2006 at 10:05, "Geir Magnusson Jr." <[EMAIL PROTECTED]> wrote: > Before you do that... you would be putting similar information in the > build.xml file? Or am I misunderstanding something? having it in the > patternset does make it easy to find stuff :)
I'll be putting something in the build.xml file ... the ant from the accessibility example below. That is a patternset that just figures everything out from the source tree. Essentially it's just saying include build/classes/blah if: 1) blah is also in the source tree - a resource file for example 2) there is a corresponding blah.java file in the source tree I've never really looked in the patternset files when trying to find something. I'd just look in the src/main/java tree or the jar table of contents. What do you use the patternsets for? Regards, Mark. > Mark Hindess wrote: > > Ok. There haven't been any shouts against it so. I'm going to split > > the .java files that contain two classes and then dump the patternsets. > > > > Regards, > > Mark. > > > > On 3 October 2006 at 11:27, Oliver Deakin <[EMAIL PROTECTED]> wr > ote: > >> Mark Hindess wrote: > >>> On 28 September 2006 at 14:58, "Alexey Petrenko" <[EMAIL PROTECTED] > .c > >> om> wrote: > >>> > >>>> 2006/9/28, Mark Hindess <[EMAIL PROTECTED]>: > >>>> > >>>>> On 28 September 2006 at 14:30, "Alexey Petrenko" <[EMAIL PROTECTED] > il > >> .c > >>>>> > >>>> om> wrote: > >>>> > >>>>>> I think that it will be better to add another target to build for > >>>>>> this check. > >>>>>> Because of two reasons: > >>>>>> 1. It is unclear that clean is also checks something > >>>>>> > >>>>> This simple check can only happen part way through the clean target - > >>>>> after the modules have done their cleaning and before the top-level > >>>>> cleanup is done. > >>>>> > >>>> I see your point. > >>>> > >>>> But let's review the sitatuation from another viewpoint... > >>>> What do we need in general? > >>>> We need up-to-date list of all packages in the specified module. Right? > >>>> If so we can create simple script to update patternset files... Or > >>>> even create them at build time. But will cost us build time itself :) > >>>> > >>> That's a reasonable point. I had a look at what it would take to get > >>> rid of the patternsets completely. It's quite easy for some modules. > >>> For example, for accessibility, we can just replace the "classes" > >>> fileset with: > >>> > >>> <fileset id="classes" dir="${hy.build}"> > >>> <or> > >>> <present targetdir="${hy.accessibility.src.main.java}" /> > >>> <present targetdir="${hy.accessibility.src.main.java}"> > >>> <mapper type="regexp" > >>> from="^(.*?)(\$$[^/\\\.]*)?\.class$$" > >>> to="\1.java"/> > >>> </present> > >>> </or> > >>> </fileset> > >>> > >>> Which basically says include files if they are also present in > >>> the source directory - typically resource files - or if they are > >>> .class files and have an obviously-named source file in the source > >>> directory[0]. > >>> > >> +1 to building the patternset on the fly rather than relying on file > >> lists being manually > >> kept up to date. I can't see any reason for keeping the patternset files. > >> > >>> This works for most modules. The present tags are duplicated for > >>> modules with platform source directories. > >>> > >>> However, it doesn't work very well for awt, beans, jndi, luni, and > >>> security. Why? Because they have some source files defining two > >>> classes. For instance, java.awt.ContextImpl defined in: > >>> > >>> modules/awt/src/main/java/common/java/awt/Component.java > >>> > >>> We could hardcode these special case - there are only a few. Or perhaps > >>> we could split them in to distinct source files? > >>> > >> I'd go for splitting them out into separate files - hardcoding them > >> means that you're still > >> keeping a manual file list for those classes. Does anyone have an issue > >> with separating > >> these classes out? > >> > >>> I have some patches ready to make this change but I've not committed > >>> anything. > >>> > >>> Personally I think getting rid of the patternsets would be a good idea > >>> since it reduces the coupling - although really the coupling is only > >>> strictly necessary for luni and security. > >>> > >>> It is important to note that even if we do something like this, leaving > >>> the catch-all check in the clean target still helps stop problems - if > >>> people forget to add the hardcoded special cases or if we split them > >>> people add new source defining two classes in one file. > >>> > >> Agreed - keeping the clean target check helps us make sure that no one > >> breaks the > >> jar packaging in the future. As long as it completes the clean before > >> failing, that's > >> fine. > >> > >> Regards, > >> Oliver > >> > >>> Regards, > >>> Mark. > >>> > >>> [0] The simpler '<mapper type="glob" from="*.class" to="*.java">' > >>> doesn't work because it misses inner classes. > >>> > >>> > >>>>>> 2006/9/28, Mark Hindess <[EMAIL PROTECTED]>: > >>>>>> > >>>>>>> On 28 September 2006 at 11:07, Tim Ellison <[EMAIL PROTECTED]> wr > ot > >>>>>>> > >>>> e: > >>>> > >>>>>>>> Sounds reasonable. The alternative is to not make clean fail, just > >>>>>>>> print the warning and tidy up the remainder. That may be too easy t > o > >>>>>>>> ignore though. > >>>>>>>> > >>>>>>> Yes. I considered that and had the same concern. Even if I wrote th > e > >>>>>>> code to print the warning, I think I'd ignore it since it would scrol > l > >>>>>>> too quickly off the top of my screen at the beginning of the build. > >>>>>>> > >>>>>>> -Mark. > >>>>>>> > >>>>>>> > >>>>>>>> Regards, > >>>>>>>> Tim > >>>>>>>> > >>>>>>>> Mark Hindess wrote: > >>>>>>>> > >>>>>>>>> Yesterday, while looking at something unrelated, I noticed that som > >>>>>>>>> > >>>> e > >>>> > >>>>>>>>> of the patternsets that are used to select the jars for the classli > >>>>>>>>> > >>>> b > >>>> > >>>>>>>>> modules were not up to date with the result that some classes would > >>>>>>>>> > >>>> be > >>>> > >>>>>>>>> missing from the resulting jars[0]. > >>>>>>>>> > >>>>>>>>> While it makes me slightly uneasy having a clean target that might > >>>>>>>>> > >>>> fail > >>>> > >>>>>> , > >>>>>> > >>>>>>>>> it turns out that this is one place where it is quite easy to check > >>>>>>>>> whether the patternsets are out of date. (Because if after the mod > >>>>>>>>> > >>>> ules > >>>> > >>>>>>>>> have cleaned classes in their patternsets there are still files lef > >>>>>>>>> > >>>> t > >>>> > >>>>>>>>> over then something is being create that isn't accounted for by the > >>>>>>>>> patternsets.) > >>>>>>>>> > >>>>>>>>> So the clean target will now fail with a message like (tested > >>>>>>>>> by reverting yesterdays change to the sound patternset): > >>>>>>>>> > >>>>>>>>> Built files still exist after module clean targets have run. Thi > >>>>>>>>> > >>>> s > >>>> > >>>>>>>>> probably means that one or more patternsets are incomplete. The > >>>>>>>>> remaining files are: > >>>>>>>>> > >>>>>>>>> /classlib/build/classes/org/apache/harmony/sound/utils/ProviderSe > >>>>>>>>> > >>>> rvic > >>>> > >>>>>> e.cl > >>>>>> > >>>>>>>> ass > >>>>>>>> > >>>>>>>>> I'm sure there are other ways to solve this problem but this seemed > >>>>>>>>> > >>>> lik > >>>> > >>>>>> e > >>>>>> > >>>>>>>>> a sensible quick fix to help catch these problems a little sooner[1 > >>>>>>>>> > >>>> ]. > >>>> > >>>>>>>>> Regards, > >>>>>>>>> Mark. > >>>>>>>>> > >>>>>>>>> [0] This might explain some of the awt/swing test failures so perha > >>>>>>>>> > >>>> ps > >>>> > >>>>>>>>> it is worth checking the exclude lists again? > >>>>>>>>> > >>>>>>>>> [1] Though I guess since we clean at the beginning of a build (not > >>>>>>>>> > >>>> the > >>>> > >>>>>>>>> end) then we might still find them in the build after the one that > >>>>>>>>> caused the break but that's better than only finding them by accide > >>>>>>>>> > >>>> nt. > >>>> > >>>>>>>>> ------------------------------------------------------------------- > >>>>>>>>> > >>>> -- > >>>> > >>>>>>>>> Terms of use : http://incubator.apache.org/harmony/mailing.html > >>>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>>>>>> > >>>> g > >>>> > >>>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED] > >>>>>>>>> > >>>> org > >>>> > >>>>>>>>> > >>>>>>>> -- > >>>>>>>> > >>>>>>>> Tim Ellison ([EMAIL PROTECTED]) > >>>>>>>> IBM Java technology centre, UK. > >>>>>>>> > >>>>>>>> -------------------------------------------------------------------- > - > >>>>>>>> Terms of use : http://incubator.apache.org/harmony/mailing.html > >>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED] > r > >>>>>>>> > >>>> g > >>>> > >>>>>>> --------------------------------------------------------------------- > >>>>>>> Terms of use : http://incubator.apache.org/harmony/mailing.html > >>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>>>> For additional commands, e-mail: [EMAIL PROTECTED] > g > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>> -- > >>>>>> Alexey A. Petrenko > >>>>>> Intel Middleware Products Division > >>>>>> > >>>>>> --------------------------------------------------------------------- > >>>>>> Terms of use : http://incubator.apache.org/harmony/mailing.html > >>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>>> For additional commands, e-mail: [EMAIL PROTECTED] > >>>>>> > >>>>>> > >>>>> --------------------------------------------------------------------- > >>>>> Terms of use : http://incubator.apache.org/harmony/mailing.html > >>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>> For additional commands, e-mail: [EMAIL PROTECTED] > >>>>> > >>>>> > >>>>> > >>>> -- > >>>> Alexey A. Petrenko > >>>> Intel Middleware Products Division > >>>> > >>>> --------------------------------------------------------------------- > >>>> Terms of use : http://incubator.apache.org/harmony/mailing.html > >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>> For additional commands, e-mail: [EMAIL PROTECTED] > >>>> > >>>> > >>> > >>> > >>> --------------------------------------------------------------------- > >>> Terms of use : http://incubator.apache.org/harmony/mailing.html > >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >>> > >> -- > >> Oliver Deakin > >> IBM United Kingdom Limited > >> > >> > >> --------------------------------------------------------------------- > >> Terms of use : http://incubator.apache.org/harmony/mailing.html > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > > > > > > > > --------------------------------------------------------------------- > > Terms of use : http://incubator.apache.org/harmony/mailing.html > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]