Hi Everyone, I have create the JIRA https://issues.apache.org/jira/browse/OFBIZ-7534 for this project
I have two questions in this thread First Question ------------------ Can I drop the below tasks from the build system? They currently exist in Ant but I am not sure whether they are actively used or not. So if you want me to add any of these tasks please reply to this thread, otherwise I will not include them in gradle. Please note I added all multi tenant tasks because many of them are broken or have no functionality, so I am assuming people are doing multi-tenancy manually but not sure, so please help! - build-dev - build-production - build-qa - build-test - clean-ivy - copy-dtds - create-tenant - download-PG-JDBC - download-activemq - download-mySQL-JDBC - gen-kek - gitinfo - load-all-tenants - load-demo-multitenant - load-tenant - load-tenant-data-readers - refresh - revert-dev - run-test-list - start-batch - start-batch-secure - start-both-secure - start-pos-secure - start-secure - svninfo Second Question ----------------------- it seems many of the load tasks are too specific. So I suggest to only implement loadDemo and the rest are executed manually by users, for example: ./gradlew 'ofbiz --load-data reader=seed, seed-initial, ext' instead of load-extseed. If you would like to add the other load data tasks, please specify which ones. Appreciate your early responses. Taher Alkhateeb On Tue, Jun 21, 2016 at 1:02 PM, Taher Alkhateeb <slidingfilame...@gmail.com > wrote: > Hi Everyone, > > Thank you all for your support and kinds words. This is truly a wonderful > atmosphere and I am lucky, honoured, and privileged to work with you all on > this project. > > My patch is almost done, but definitely there is a lot of work to be done > which includes the following: > - I have one failing test out of 889 that I need to dig through, maybe you > guy can help > - I want to change / delete / add some tasks > - Documentation needs to be updated in multiple areas > - Testing, testing, testing, testing, testing, testing, testing, testing, > testing > > So the plan of action is as follows: > - I will continue the discussion on this thread for a few questions that I > need an answer for. > - I will issue a JIRA to hold the patch and everything else > > Please consider helping, this is something that definitely needs a team, > more than one brain! If you are working on something not urgent, please > consider dropping it for a while and jump along for help. > > I will post another email soon with the JIRA details and list of questions > I need answer for. > > Again, thank you, you guys rock, I love OFBiz and this community! > > Regards, > > Taher Alkhateeb > > > > On Tue, Jun 21, 2016 at 12:49 PM, Nicolas Malin <nicolas.ma...@nereide.fr> > wrote: > >> I'm in over for these technical aspects but the motivation and enthusiasm >> for many PMC and commiter tells me that seems a good way. >> >> So now I will learn gradle ;) and I'm in favor to realize this change >> directly on trunk >> >> Thks Taher to your engine energy on this subject ! >> >> Nicolas >> >> >> >> Le 21/06/2016 10:43, Jacques Le Roux a écrit : >> >>> As Gavin mentioned, Gradle can run Ant so no worries using only Gradle >>> >>> https://docs.gradle.org/current/userguide/ant.html >>> >>> Jacques >>> >>> >>> Le 21/06/2016 à 09:59, Michael Brohl a écrit : >>> >>>> I have no strong opinion for/against Gradle (I simply have no >>>> experience with it) but I agree that it should be either Ant or Gradle. >>>> Running two build tools in parallel would make it too complex an gain >>>> nothing. >>>> >>>> I'm in favor for learning new things so Gradle sounds fine for me :-) >>>> >>>> Regards, >>>> >>>> Michael >>>> >>>> >>>> Am 21.06.16 um 08:11 schrieb Taher Alkhateeb: >>>> >>>>> Hi Deepak, >>>>> >>>>> Ant would be removed completely for the following reasons: >>>>> >>>>> - First to resolve the ASF issue about the libraries mentioned by >>>>> Sharan >>>>> below without expending effort on both build systems. >>>>> - Ant is an obstacle to refactoring the framework. If we keep both >>>>> systems >>>>> side by side we gain nothing, actually we lose value because the builds >>>>> become more complex. For example, we will not be able to intrduce the >>>>> unit >>>>> tests, and we will have two build outputs, and we will have two ways of >>>>> running the framework (java -jar ofbiz.jar and gradlew ofbiz) and we >>>>> will >>>>> have other incompatibility issues. >>>>> >>>>> With that being said, we will not make the switch before a thorough and >>>>> full testing. That is why we ask everyone who is willing to please >>>>> help us >>>>> out to make this transition smooth by testing and providing feedback >>>>> and >>>>> comments. >>>>> >>>>> Taher Alkhateeb >>>>> >>>>> On Tuesday, 21 June 2016, Deepak Dixit <deepak.di...@hotwaxsystems.com >>>>> > >>>>> wrote: >>>>> >>>>> +1 for Gradle. >>>>>> >>>>>> Are we going to remove ant from framework completely or planning to >>>>>> keep >>>>>> both ant and gradle? >>>>>> >>>>>> >>>>>> >>>>>> Thanks & Regards >>>>>> -- >>>>>> Deepak Dixit >>>>>> www.hotwaxsystems.com >>>>>> >>>>>> On Mon, Jun 20, 2016 at 6:20 PM, Sharan Foga <sharan.f...@gmail.com >>>>>> <javascript:;>> wrote: >>>>>> >>>>>> Hi Everyone >>>>>>> >>>>>>> This is the second of two emails to inform the community about what >>>>>>> has >>>>>>> been happening around how we are planning to handle external >>>>>>> dependencies >>>>>>> in the trunk. Two weeks ago the community discussed and agreed to >>>>>>> the use >>>>>>> of Gradle to help us put together a unit test framework. While >>>>>>> trying to >>>>>>> get this set up while Ant remained as our build tool became very >>>>>>> >>>>>> difficult. >>>>>> >>>>>>> This was because our Ant scripts: >>>>>>> >>>>>>> - are massive and contain a lot of code >>>>>>> - are complex >>>>>>> - are very brittle and make it very hard to change things >>>>>>> - have no dependency management >>>>>>> - need everything to be declared >>>>>>> >>>>>>> We realised very quickly that the re-factoring issues and >>>>>>> limitations we >>>>>>> are facing are because of our build tool – Ant. >>>>>>> >>>>>>> Ant is verbose so it needs everything to be declared. We did a brief >>>>>>> assessment of Maven and found it better than Ant but not a good fit >>>>>>> for >>>>>>> OFBiz because it has strict requirements for the >>>>>>> convention-over-configuration rules to work. Instead we decided to >>>>>>> take a >>>>>>> closer look at Gradle. >>>>>>> >>>>>>> So why Gradle? >>>>>>> As Taher was already looking at Gradle for unit testing, we decided >>>>>>> to >>>>>>> look at what we would need to do to totally replace Ant with Gradle. >>>>>>> We >>>>>>> received some great support and feedback from David, who is already >>>>>>> using >>>>>>> Gradle with Moqui. >>>>>>> >>>>>>> After some preliminary tests we found that Gradle has some very good >>>>>>> features such as: >>>>>>> >>>>>>> - a much shorter code base (e.g. one single file of around 250 >>>>>>> lines >>>>>>> >>>>>> of >>>>>> >>>>>>> code replaces all the build.xml files and thousands of lines of code) >>>>>>> - Programming is DSL based and links in well with Groovy (e.g. >>>>>>> the >>>>>>> script is short because despite heavy custom requirements for OFBiz, >>>>>>> two >>>>>>> small functions took care of the complex directory structure) >>>>>>> - It handles all the external jar files by downloading any >>>>>>> >>>>>> dependencies >>>>>> >>>>>>> directly via internet >>>>>>> - Jars can be upgraded by simply changing a string >>>>>>> - It has matured a lot and has a high level of support in >>>>>>> tools,IDEs, >>>>>>> books, documentation >>>>>>> - It also has a lot of plugins which means that it works with >>>>>>> pretty >>>>>>> much all build systems, supports multiple programming languages, and >>>>>>> many >>>>>>> other features (e.g. OSGi) >>>>>>> >>>>>>> We understand that it can help us make OFBiz more modular and also >>>>>>> >>>>>> setting >>>>>> >>>>>>> up a framework for managing addons would be a lot easier. >>>>>>> >>>>>>> So what's been done? >>>>>>> Taher has been working very hard on a patch for the trunk that >>>>>>> completely >>>>>>> replaces Ant with Gradle. (Huge thanks to David for providing some >>>>>>> >>>>>> example >>>>>> >>>>>>> scripts to help us get started!) The patch is now ready to be >>>>>>> applied to >>>>>>> the trunk and includes the following: >>>>>>> >>>>>>> - java -jar ofbiz.jar is now replaced with -> gradlew 'ofbiz >>>>>>> --whatever-options-here' >>>>>>> - In addition to gradlew 'ofbiz' we also have gradlew >>>>>>> 'ofbizDebug >>>>>>> --whatever'. What does that mean? It means we can run debug on ALL >>>>>>> ofbiz >>>>>>> commands, not just start >>>>>>> - If we decide to change the source directory structure in >>>>>>> components >>>>>>> say from /src to /src/main, it would literally be a change of 5 >>>>>>> >>>>>> characters >>>>>> >>>>>>> in the build script >>>>>>> - We can immediately move all jar files if we want to a unified >>>>>>> location in /lib for example >>>>>>> - We can delete most of the jars and declare them as >>>>>>> dependencies >>>>>>> saving space and resources >>>>>>> - We can automate the creation of the .classpath file so when we >>>>>>> update libraries no need to do this manually (under development) >>>>>>> - We can ignore components that are not define in the xml files >>>>>>> for >>>>>>> loading (under development) >>>>>>> - We can introduce unit tests with about 10 minutes of work >>>>>>> >>>>>>> We are finding that the flexibility and control we are getting with >>>>>>> >>>>>> Gradle >>>>>> >>>>>>> is truly amazing. We know that Gradle will be a major change to the >>>>>>> >>>>>> project >>>>>> >>>>>>> but we think that it will significantly improve the project by >>>>>>> removing a >>>>>>> lot of build complexity and take care of that essential dependency >>>>>>> management that we need to comply with. >>>>>>> >>>>>>> Our next steps will be to apply the patch to the trunk and then >>>>>>> continue >>>>>>> the re-factoring work. We will need to organise some knowledge >>>>>>> transfer >>>>>>> >>>>>> so >>>>>> >>>>>>> that all our committers understand what the changes are and how they >>>>>>> >>>>>> would >>>>>> >>>>>>> need to work in the future. >>>>>>> >>>>>>> The PMC are very, very excited about having Gradle as part of future >>>>>>> of >>>>>>> OFBiz and we hope that the community will think so too. As always, >>>>>>> >>>>>> feedback >>>>>> >>>>>>> welcome. >>>>>>> >>>>>>> Thanks >>>>>>> Sharan >>>>>>> >>>>>>> >>>> >>>> >>> >> >