The more I edit this build.xml the more I think it is a good idea to move
away from it :)
Its a horrible historical grown file.
This was one of the first versions:
https://code.google.com/p/openmeetings/source/browse/trunk/webapp/build.xml?r=1329

And since then we just grow it :))

Sebastian


2013/10/5 seba.wag...@gmail.com <seba.wag...@gmail.com>

> There are also some pre-existing issues with our JAR packaging.
> If you download the existing openmeetings.jar (for example from the last
> https://builds.apache.org/view/M-R/view/OpenMeetings/job/openmeetings/610/and 
> unpack just unzip openmeetings-3.0.0-SNAPSHOT.jar) , you see a lot of
> directories and files in that JAR file that have no meaning and/or are
> duplicated.
>
> For example: Why there is a folder /main/webapp/ (and xx subfolders)
> packaged into the JAR file ?!
>
> Sebastian
>
>
> 2013/10/5 seba.wag...@gmail.com <seba.wag...@gmail.com>
>
> I did not intend to say that you need to immediatelly do everything in one
>> flush.
>>
>> I also do not understand the full refactoring you have done, there are so
>> many changes in the build.xml that it is impossible to follow up what
>> exactly is wrong at the moment.
>>
>> It seems like there are several issues, if you run a "clean" you might
>> see.
>>
>> I can try o fix that. But potentially you will need to reply some of
>> those fixes that you have done on top of it (like the replace of "." with
>> "-" in some of the build targets)
>>
>> Sebastian
>>
>>
>> 2013/10/5 Maxim Solodovnik <solomax...@gmail.com>
>>
>>> I'm going to commit the changes
>>> Please let me know know if anything is broken
>>>
>>> Was unable to test everything :(
>>>
>>>
>>> On Fri, Oct 4, 2013 at 11:59 AM, Maxim Solodovnik 
>>> <solomax...@gmail.com>wrote:
>>>
>>>> I have started 1+2
>>>> everything is OK on Eclipse level BUT
>>>> there are troubles on the ant level :(
>>>>
>>>> all modules you have mention are dependent on each other (except for
>>>> screensharing). This mean modules can not be compiled separately :(
>>>> Will try to resolve it somehow
>>>>
>>>>
>>>> On Thu, Oct 3, 2013 at 1:46 PM, seba.wag...@gmail.com <
>>>> seba.wag...@gmail.com> wrote:
>>>>
>>>>> 1+2 now
>>>>>
>>>>> 3+4 after the release of version 3.0
>>>>>
>>>>> Sebastian
>>>>>
>>>>>
>>>>> 2013/10/3 Maxim Solodovnik <solomax...@gmail.com>
>>>>>
>>>>>> OK
>>>>>> in what version this should be implemented?
>>>>>>
>>>>>>
>>>>>> On Thu, Oct 3, 2013 at 1:12 PM, seba.wag...@gmail.com <
>>>>>> seba.wag...@gmail.com> wrote:
>>>>>>
>>>>>>> You just concentrate so much about "what can anybody do with those
>>>>>>> jars".
>>>>>>> The question is more: What can WE do with those jars.
>>>>>>>
>>>>>>> We can test functionality in isolation.
>>>>>>> We can switch different versions without changing source code.
>>>>>>> We can improve our build structure to a common standard that makes
>>>>>>> it easier for 3rd parties to get involved
>>>>>>> We can improve our build structure to a common standard that makes
>>>>>>> it easier for us to maintain changes
>>>>>>> We can benefit from the usage of Maven by having out of the box
>>>>>>> support for the most common tasks in the software life-cycle 
>>>>>>> (distribution,
>>>>>>> dependency management, testing, ...)
>>>>>>>
>>>>>>> Just one example: In Maven you simply run "mvn eclipse:eclipse" and
>>>>>>> it will build all the necessary project files based on your pom file 
>>>>>>> that
>>>>>>> you need for Eclipse.
>>>>>>>
>>>>>>> So no back and forth about checking in Eclipse files with "Apache
>>>>>>> Headers" in the SVN and syncing, and then Eclipse overwrites it again 
>>>>>>> and
>>>>>>> all this kind of mucking around. You simply never check those files in,
>>>>>>> cause everybody that needs them simply runs "mvn eclipse:eclipse". And
>>>>>>> that's it. That is why nobody else has issues with "checking in Eclipse
>>>>>>> files in SVN with Apache Headers". Maven users just wonder why anybody
>>>>>>> would do that if Maven already handles it for you.
>>>>>>>
>>>>>>> My proposal would be to refactor in multiple steps to use Maven for
>>>>>>> building the project.
>>>>>>> Step 1 + 2 would not introduce Maven, it just prepares for it.
>>>>>>>
>>>>>>> 1) First step would be to identify/discuss possible artefact's that
>>>>>>> can be build as a separated JAR.
>>>>>>> That would be:
>>>>>>>  - Wicket
>>>>>>>  - Persistence
>>>>>>>  - Axis
>>>>>>>  - ScreenSharing
>>>>>>>  - Utils
>>>>>>>  - Core ("the rest", mainly business logic or things that are too
>>>>>>> small or have no real scope)
>>>>>>>
>>>>>>> 2) Group them in a separated source-folders and package them in a
>>>>>>> separated JAR
>>>>>>>
>>>>>>> --------
>>>>>>>
>>>>>>> That would be it for the moment.
>>>>>>>
>>>>>>> At some later stage:
>>>>>>> 3) Externalise, each of those JARs, step by step, into a separated
>>>>>>> Maven build project.
>>>>>>> Each of those Maven projects would have its own "test" source
>>>>>>> folder. So the tests then move from the "core" to the sub projects they
>>>>>>> belong to.
>>>>>>>
>>>>>>> 4) At some stage we might only have the core project left over that
>>>>>>> builds using ANT+Ivy. At that time we can then discuss further on how to
>>>>>>> refactor that project to Maven.
>>>>>>>
>>>>>>> Steps 3) or 4) depend more on individuals that are willing to put
>>>>>>> time into that then on Release Cycles.
>>>>>>>
>>>>>>> It basically should not have any effect on how the application works
>>>>>>> / functionality, its only a source code / build tools refactoring.
>>>>>>> However I would like to get step 1 and 2 done. Because those are
>>>>>>> basically the ones that require consens. Steps 3+4 can be done at any 
>>>>>>> time
>>>>>>> later.
>>>>>>>
>>>>>>> Sebastian
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/10/3 Maxim Solodovnik <solomax...@gmail.com>
>>>>>>>
>>>>>>>> I don't think they wrong or we right
>>>>>>>> I just can't see how one can use any of our jars without others :)
>>>>>>>>
>>>>>>>> Could you please propose the structure you would like?
>>>>>>>> I believe we shouldn't switch to maven until 3.1
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Oct 3, 2013 at 11:48 AM, seba.wag...@gmail.com <
>>>>>>>> seba.wag...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> But it is not about creating *standalone* artefacts.
>>>>>>>>> It is just a different way of architecture.
>>>>>>>>>
>>>>>>>>> For instance if we switch to a more Maven styled architecture the
>>>>>>>>> openmeetings wicket related stuff could become even a standalone 
>>>>>>>>> eclipse
>>>>>>>>> project.
>>>>>>>>>
>>>>>>>>> And in the OpenMeetings "core" project the
>>>>>>>>> openmeetings-wicket-$version.jar is simply a dependency that you add 
>>>>>>>>> and
>>>>>>>>> update in your pom (or ivy) file.
>>>>>>>>>
>>>>>>>>> That has several advantages, for instance that somebody that has
>>>>>>>>> no idea about red5 can purely concentrate on editing and writing test 
>>>>>>>>> cases
>>>>>>>>> for what he knows. And you might test things more in isolation. The 
>>>>>>>>> same
>>>>>>>>> about the persistance/OpenJPA related stuff. You can simply 
>>>>>>>>> externalize
>>>>>>>>> that and add it as a dependency.
>>>>>>>>> I mean externalizing things is a quite basic process that you do
>>>>>>>>> with every string, code, class, it seems just natural that you do the 
>>>>>>>>> same
>>>>>>>>> with organizing source code and grouping JARs.
>>>>>>>>>
>>>>>>>>> So it is really not about building standalone artefacts that can
>>>>>>>>> be distributed. They have of course dependencies. But that is what you
>>>>>>>>> might manage then in your pom.xml or ivy file.
>>>>>>>>>
>>>>>>>>> So having those kind of separation is one step in a bigger process
>>>>>>>>> to organize our project and move to a more standardized architecture 
>>>>>>>>> in
>>>>>>>>> line with other Apache products. Instead of having this heavily 
>>>>>>>>> customized
>>>>>>>>> build process.
>>>>>>>>>
>>>>>>>>> By having a more standardized process it will be also easier for
>>>>>>>>> new committers to join the project and provide patches.
>>>>>>>>> And for example having our JARs in the Maven repositories. I doubt
>>>>>>>>> that we can really judge what others can do with those JARs. There 
>>>>>>>>> might be
>>>>>>>>> not some user xyz out there that exactly could use some part of our 
>>>>>>>>> code
>>>>>>>>> for his project. I mean its all about getting connected with other
>>>>>>>>> projects. We benefit from so many other projects, but we are not 
>>>>>>>>> willing to
>>>>>>>>> switch our project to a more standardised architecture so that others 
>>>>>>>>> can
>>>>>>>>> benefit from us. While we could very much benefit if we would 
>>>>>>>>> integrate our
>>>>>>>>> project better in the Open Source landscape.
>>>>>>>>>
>>>>>>>>> Take _any_ Apache project, they are all using Maven and they all
>>>>>>>>> follow those principles. Do you really think that they are all wrong 
>>>>>>>>> ? And
>>>>>>>>> is it really that good that we follow our very own way ?
>>>>>>>>>
>>>>>>>>> Sebastian
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2013/10/3 Maxim Solodovnik <solomax...@gmail.com>
>>>>>>>>>
>>>>>>>>>> Hello Sebastian,
>>>>>>>>>>
>>>>>>>>>> We surely can add additional targets, but unfortunately the only
>>>>>>>>>> pard able to live with no others is docs :)
>>>>>>>>>> All other "jar"s will be dependent on each other.
>>>>>>>>>>
>>>>>>>>>> If you OK with it we can try to create more artifacts.
>>>>>>>>>> Right now I can see no additional "standalone" artifacts :(
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  On Thu, Oct 3, 2013 at 11:02 AM, seba.wag...@gmail.com <
>>>>>>>>>> seba.wag...@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Maxim,
>>>>>>>>>>>
>>>>>>>>>>> just another example:
>>>>>>>>>>>
>>>>>>>>>>> Look at what this project does release, they group it in
>>>>>>>>>>> separated JAR packages.
>>>>>>>>>>> Or have a look at:
>>>>>>>>>>> http://www.apache.org/dist/sling/
>>>>>>>>>>>
>>>>>>>>>>> I doubt that anybody could use the
>>>>>>>>>>> org.apache.sling.junit.healthcheck-1.0.6
>>>>>>>>>>> without having the core or other JARs. However they split it up,
>>>>>>>>>>> cause it is just makes it a lot more clear what is what.
>>>>>>>>>>>
>>>>>>>>>>> I still believe we should actually do that same. Package for
>>>>>>>>>>> example the JPA related packages and the wicket related packages in
>>>>>>>>>>> separated JAR files.
>>>>>>>>>>> A single "mega" jar just seems to be a quite outdated
>>>>>>>>>>> distribution model.
>>>>>>>>>>>
>>>>>>>>>>> Sebastian
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ---------- Forwarded message ----------
>>>>>>>>>>> From: Bertrand Delacretaz <bdelacre...@apache.org>
>>>>>>>>>>> Date: 2013/10/1
>>>>>>>>>>> Subject: [ANN] Apache Sling Health Check Tools released
>>>>>>>>>>> To: dev <d...@sling.apache.org>, users <us...@sling.apache.org>,
>>>>>>>>>>> Apache Announcements <annou...@apache.org>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> The Apache Sling team is pleased to announce the initial release
>>>>>>>>>>> of
>>>>>>>>>>> the Apache Sling Health Check Tools, which consist of the
>>>>>>>>>>> following
>>>>>>>>>>> modules:
>>>>>>>>>>>
>>>>>>>>>>> org.apache.sling.hc.core-1.0.4
>>>>>>>>>>> org.apache.sling.hc.it-1.0.4
>>>>>>>>>>> org.apache.sling.hc.jmx-1.0.4
>>>>>>>>>>> org.apache.sling.hc.samples-1.0.4
>>>>>>>>>>> org.apache.sling.hc.support-1.0.4
>>>>>>>>>>> org.apache.sling.hc.webconsole-1.0.4
>>>>>>>>>>> org.apache.sling.junit.healthcheck-1.0.6
>>>>>>>>>>>
>>>>>>>>>>> Apache Sling is a web framework that uses a Java Content
>>>>>>>>>>> Repository,
>>>>>>>>>>> such as Apache Jackrabbit, to store and manage content. Sling
>>>>>>>>>>> applications use either scripts or Java servlets, selected based
>>>>>>>>>>> on
>>>>>>>>>>> simple name conventions, to process HTTP requests in a RESTful
>>>>>>>>>>> way.
>>>>>>>>>>>
>>>>>>>>>>> Based on simple HealthCheck OSGi services, the Sling Health Check
>>>>>>>>>>> Tools ("hc" in short form) are used to check the health of live
>>>>>>>>>>> Sling
>>>>>>>>>>> systems, based on inputs like JMX MBean attribute values, OSGi
>>>>>>>>>>> framework information, Sling requests status, JUnit tests, etc.
>>>>>>>>>>>
>>>>>>>>>>> See
>>>>>>>>>>> http://sling.apache.org/documentation/bundles/sling-health-check-tool.html
>>>>>>>>>>> for more information.
>>>>>>>>>>>
>>>>>>>>>>> This release is available from
>>>>>>>>>>> http://sling.apache.org/site/downloads.cgi and the usual Maven
>>>>>>>>>>> repositories.
>>>>>>>>>>>
>>>>>>>>>>> Enjoy!
>>>>>>>>>>>
>>>>>>>>>>> -The Apache Sling team
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Sebastian Wagner
>>>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>>>> http://www.webbase-design.de
>>>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>>>> seba.wag...@gmail.com
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> WBR
>>>>>>>>>> Maxim aka solomax
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Sebastian Wagner
>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>> http://www.webbase-design.de
>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>> seba.wag...@gmail.com
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> WBR
>>>>>>>> Maxim aka solomax
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Sebastian Wagner
>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>> http://www.webbase-design.de
>>>>>>> http://www.wagner-sebastian.com
>>>>>>> seba.wag...@gmail.com
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> WBR
>>>>>> Maxim aka solomax
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Sebastian Wagner
>>>>> https://twitter.com/#!/dead_lock
>>>>> http://www.webbase-design.de
>>>>> http://www.wagner-sebastian.com
>>>>> seba.wag...@gmail.com
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> WBR
>>>> Maxim aka solomax
>>>>
>>>
>>>
>>>
>>> --
>>> WBR
>>> Maxim aka solomax
>>>
>>
>>
>>
>> --
>> Sebastian Wagner
>> https://twitter.com/#!/dead_lock
>> http://www.webbase-design.de
>> http://www.wagner-sebastian.com
>> seba.wag...@gmail.com
>>
>
>
>
> --
> Sebastian Wagner
> https://twitter.com/#!/dead_lock
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wag...@gmail.com
>



-- 
Sebastian Wagner
https://twitter.com/#!/dead_lock
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wag...@gmail.com

Reply via email to