Hi everybody! As planned, we have now switched the LT source to a module-based Maven structure. This mail contains important information about what that means for developers. Please read this carefully if you're affected.
Who is affected? Only people who use svn to access the very latest version of LT. Everyone relying on official releases or snapshots is *not* affected. What do I need to do if I'm affected? 1. If you have local source changes to LT, save them using "svn diff". You will then need to re-apply them in the new location manually. 2. Make sure maven is installed. Type "mvn -version" on the command line. If Maven returns its version and the version is >= 3.0.2, everything is okay. If not, follow the instructions on http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html (ignoring the "Creating a Project" part). As a Linux user, Maven should be provided by your distribution. 3. Check out the new code: svn co https://languagetool.svn.sourceforge.net/svnroot/languagetool/trunk/languagetool Don't try to commit to the old code anymore, it will not work and you might get strange errors. The best thing is to rename or delete your old checkout to avoid confusion (keep the diff created in step 1, if any). 4. Change to the "languagetool" directory just checked out and type: "mvn clean package". You should get a "BUILD SUCCESSFUL" message after everything is compiled and all tests are run. This will take some minutes. If you don't get that message and cannot solve the problem, ask for help here on this list. 5. If you made commits since last Friday, please check if they are there. I merged them but I might have made a mistake. 6. You can now work on LT almost as usual. LT is now made up of several sub projects: * languagetool-core (core classes for Java developers, everything else depends on this) * languagetool-standalone * languagetool-office-extension * languagetool-gui-commons (code shared by office extension and standalone version) * languagetool-language-modules/XX with XX being a language code: a module for that language, including rules, dictionaries, tests etc. - everything related to that language (minus the false friend rules and sentence segmentation, which are still in languagetool-core) Your IDE can probably import them all at once if you import the top "pom.xml" Instead of "ant test", now run "mvn clean test" before you commit a change. If you go to the sub-projects and type "mvn clean test" there, only that project will be tested. This is useful for the language modules, as only that language and its rules will be tested, which if quite fast. Be careful though, as the language module depends on the core module and you might get strange errors if the core module has changed and you haven't built **and installed** it yet. To install a module, use "mvn clean install". This will compile and test the module(s) and install the result (the *.jar files) in your local Maven repository (~/.m2/repository under Linux). When in doubt, run "mvn clean test" in the top directory. 7. If you find problems related to the switch, let me know. I know that not everything is working 100% but we should be close. For example, some shell scripts are missing / not working yet, and the *.oxt is still called *.zip and too big. Should you still need the old source, it's available here (please don't commit anything there!): https://languagetool.svn.sourceforge.net/svnroot/languagetool/tags/JLanguageTool- before-maven-modularization/ Although the switch means quite a bit of work, it is the foundation for making LT modular. For now, the modules are only on the source code level, but Java developers already benefit from them. Having modules also makes the code better, as dependencies are now properly defined. I hope this switch doesn't cause problems for anybody, but I'm absolutely sure that it's the right thing to do. LanguageTool has grown quite a bit over the last years - which is a good thing! - and we sometimes need to react to that growth to keep things manageable. Don't hesitate to ask if you have questions. Regards Daniel -- http://www.danielnaber.de ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnnow-d2d _______________________________________________ Languagetool-devel mailing list Languagetool-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/languagetool-devel