changeset 12553:9af82ca3f225

mxtool: change about text to refer to Wiki doc, add mx.find script
author Mick Jordan <mick.jordan@oracle.com>
date Wed, 23 Oct 2013 15:35:55 -0700
parents 11b086b1bae4
children c41342332b7f
files mxtool/mx.py
diffstat 1 files changed, 3 insertions(+), 113 deletions(-) [+]
line wrap: on
line diff
--- a/mxtool/mx.py	Wed Oct 23 13:54:21 2013 -0400
+++ b/mxtool/mx.py	Wed Oct 23 15:35:55 2013 -0700
@@ -27,119 +27,9 @@
 #
 
 r"""
-mx is a command line tool inspired by mvn (http://maven.apache.org/)
-and hg (http://mercurial.selenic.com/). It includes a mechanism for
-managing the dependencies between a set of projects (like Maven)
-as well as making it simple to run commands
-(like hg is the interface to the Mercurial commands).
-
-The organizing principle of mx is a project suite. A suite is a directory
-containing one or more projects. It's not coincidental that this closely
-matches the layout of one or more projects in a Mercurial repository.
-The configuration information for a suite lives in an 'mx' sub-directory
-at the top level of the suite. A suite is given a name by a 'suite=name'
-property in the 'mx/projects' file (if omitted the name is suite directory).
-An 'mx' subdirectory can be named as plain 'mx' or 'mx.name', where
-'name' is typically the name as the suite name.
-The latter is useful to avoid clashes in IDE project names.
-
-When launched, mx treats the current working directory as a suite.
-This is the primary suite. All other suites are called included suites.
-
-The configuration files (i.e. in the 'mx' sub-directory) of a suite are:
-
-  projects
-      Defines the projects and libraries in the suite and the
-      dependencies between them.
-
-  commands.py
-      Suite specific extensions to the commands available to mx.
-
-  imports
-      Other suites to be loaded. This is recursive. Each
-      line in an imports file is the name of an imported suite.
-      The suite is located using a SuiteModel (cf searchpath)
-
-  env
-      A set of environment variable definitions. These override any
-      existing environment variables. Common properties set here
-      include JAVA_HOME and IGNORED_PROJECTS.
-
-The env file is typically not put under version control
-as it usually contain local file-system paths.
-
-The projects file is like the pom.xml file from Maven except that
-it is a properties file (not XML). Each non-comment line
-in the file specifies an attribute of a project or library. The main
-difference between a project and a library is that the former contains
-source code built by the mx tool where as the latter is an external
-dependency. The format of the projects file is
-
-Library specification format:
-
-    library@<name>@<prop>=<value>
-
-Built-in library properties (* = required):
-
-   *path
-        The file system path for the library to appear on a class path.
-
-    urls
-        A comma separated list of URLs from which the library (jar) can
-        be downloaded and saved in the location specified by 'path'.
-
-    optional
-        If "true" then this library will be omitted from a class path
-        if it doesn't exist on the file system and no URLs are specified.
-
-    sourcePath
-        The file system path for a jar file containing the library sources.
-
-    sourceUrls
-        A comma separated list of URLs from which the library source jar can
-        be downloaded and saved in the location specified by 'sourcePath'.
-
-Project specification format:
-
-    project@<name>@<prop>=<value>
-
-The name of a project also denotes the directory it is in.
-
-Built-in project properties (* = required):
-
-    subDir
-        The sub-directory of the suite in which the project directory is
-        contained. If not specified, the project directory is directly
-        under the suite directory.
-
-   *sourceDirs
-        A comma separated list of source directory names (relative to
-        the project directory).
-
-    dependencies
-        A comma separated list of the libraries and project the project
-        depends upon (transitive dependencies should be omitted).
-
-    checkstyle
-        The project whose Checkstyle configuration
-        (i.e. <project>/.checkstyle_checks.xml) is used.
-
-    native
-        "true" if the project is native.
-
-    javaCompliance
-        The minimum JDK version (format: x.y) to which the project's
-        sources comply (required for non-native projects).
-
-    workingSets
-        A comma separated list of working set names. The project belongs
-        to the given working sets, for which the eclipseinit command
-        will generate Eclipse configurations.
-
-Other properties can be specified for projects and libraries for use
-by extension commands.
-
-Property values can use environment variables with Bash syntax (e.g. ${HOME}).
+mx is a command line tool for managing the development of Java code organized as suites of projects.
+
+Full documentation can be found at https://wiki.openjdk.java.net/display/Graal/The+mx+Tool
 """
 
 import sys, os, errno, time, subprocess, shlex, types, urllib2, contextlib, StringIO, zipfile, signal, xml.sax.saxutils, tempfile, fnmatch