bin/idea.sh
changeset 47217 72e3ae9a25eb
parent 47216 71c04702a3d5
child 48667 f2344724a475
equal deleted inserted replaced
47216:71c04702a3d5 47217:72e3ae9a25eb
    23 #
    23 #
    24 
    24 
    25 # Shell script for generating an IDEA project from a given list of modules
    25 # Shell script for generating an IDEA project from a given list of modules
    26 
    26 
    27 usage() {
    27 usage() {
    28       echo "usage: $0 [-h|--help] [-v|--verbose] [-o|--output <path>] [modules]+" 
    28       echo "usage: $0 [-h|--help] [-v|--verbose] [-o|--output <path>] [modules]+"
    29       exit 1
    29       exit 1
    30 }
    30 }
    31 
    31 
    32 SCRIPT_DIR=`dirname $0`
    32 SCRIPT_DIR=`dirname $0`
    33 PWD=`pwd`
    33 PWD=`pwd`
    34 cd $SCRIPT_DIR; SCRIPT_DIR=`pwd`
    34 cd $SCRIPT_DIR; SCRIPT_DIR=`pwd`
    35 cd ../../; TOP=`pwd`; cd $PWD
    35 cd ../; TOP=`pwd`; cd $PWD
    36 
    36 
    37 IDEA_OUTPUT=$TOP/.idea
    37 IDEA_OUTPUT=$TOP/.idea
    38 VERBOSE="false"
    38 VERBOSE="false"
    39 while [ $# -gt 0 ]
    39 while [ $# -gt 0 ]
    40 do
    40 do
    68 
    68 
    69 IDEA_MAKE="$TOP/make/idea"
    69 IDEA_MAKE="$TOP/make/idea"
    70 IDEA_TEMPLATE="$IDEA_MAKE/template"
    70 IDEA_TEMPLATE="$IDEA_MAKE/template"
    71 IML_TEMPLATE="$IDEA_TEMPLATE/jdk.iml"
    71 IML_TEMPLATE="$IDEA_TEMPLATE/jdk.iml"
    72 ANT_TEMPLATE="$IDEA_TEMPLATE/ant.xml"
    72 ANT_TEMPLATE="$IDEA_TEMPLATE/ant.xml"
       
    73 MISC_TEMPLATE="$IDEA_TEMPLATE/misc.xml"
    73 IDEA_IML="$IDEA_OUTPUT/jdk.iml"
    74 IDEA_IML="$IDEA_OUTPUT/jdk.iml"
    74 IDEA_ANT="$IDEA_OUTPUT/ant.xml"
    75 IDEA_ANT="$IDEA_OUTPUT/ant.xml"
       
    76 IDEA_MISC="$IDEA_OUTPUT/misc.xml"
    75 
    77 
    76 if [ "$VERBOSE" = "true" ] ; then
    78 if [ "$VERBOSE" = "true" ] ; then
    77   echo "output dir: $IDEA_OUTPUT"
    79   echo "output dir: $IDEA_OUTPUT"
    78   echo "idea template dir: $IDEA_TEMPLATE"
    80   echo "idea template dir: $IDEA_TEMPLATE"
    79 fi
    81 fi
   118   folder="`echo "$SOURCE_FOLDER" | sed -e s@"\(.*/\)####\(.*\)"@"\1$relativePath\2"@`"
   120   folder="`echo "$SOURCE_FOLDER" | sed -e s@"\(.*/\)####\(.*\)"@"\1$relativePath\2"@`"
   119   printf "%s\n" "$folder" >> $IDEA_IML
   121   printf "%s\n" "$folder" >> $IDEA_IML
   120 }
   122 }
   121 
   123 
   122 ### Generate project iml
   124 ### Generate project iml
   123 RELATIVE_BUILD_DIR="`dirname $SPEC | sed -e s@"$TOP/\(.*$\)"@"\1"@`"
       
   124 rm -f $IDEA_IML
   125 rm -f $IDEA_IML
   125 while IFS= read -r line
   126 while IFS= read -r line
   126 do
   127 do
   127   if echo "$line" | egrep "^ .* <sourceFolder.*####" > /dev/null ; then
   128   if echo "$line" | egrep "^ .* <sourceFolder.*####" > /dev/null ; then
   128     if [ "$SOURCE_FOLDERS_DONE" = "false" ] ; then 
   129     if [ "$SOURCE_FOLDERS_DONE" = "false" ] ; then
   129       SOURCE_FOLDERS_DONE="true"
   130       SOURCE_FOLDERS_DONE="true"
   130       for root in $MODULE_ROOTS; do
   131       for root in $MODULE_ROOTS; do
   131          addSourceFolder $root
   132          addSourceFolder $root
   132       done
   133       done
   133     fi
   134     fi
   134   elif echo "$line" | egrep "^ .* <excludeFolder.*####" > /dev/null ; then
       
   135     ul="`echo "$line" | sed -e s@"\(.*/\)####\(.*\)"@"\1$RELATIVE_BUILD_DIR\2"@`"
       
   136     printf "%s\n" "$ul" >> $IDEA_IML 
       
   137   else
   135   else
   138     printf "%s\n" "$line" >> $IDEA_IML
   136     printf "%s\n" "$line" >> $IDEA_IML
   139   fi
   137   fi
   140 done < "$IML_TEMPLATE"
   138 done < "$IML_TEMPLATE"
   141 
   139 
   153   DIR=`dirname $SPEC`
   151   DIR=`dirname $SPEC`
   154   mn="`echo "$BUILD_DIR" | sed -e s@"\(.*\)####\(.*\)"@"\1$DIR\2"@`"
   152   mn="`echo "$BUILD_DIR" | sed -e s@"\(.*\)####\(.*\)"@"\1$DIR\2"@`"
   155   printf "%s\n" "$mn" >> $IDEA_ANT
   153   printf "%s\n" "$mn" >> $IDEA_ANT
   156 }
   154 }
   157 
   155 
   158 JTREG_HOME="        <property name=\"jtreg.home\" value=\"####\" />"
       
   159 
       
   160 addJtregHome() {
       
   161   DIR=`dirname $SPEC`
       
   162   mn="`echo "$JTREG_HOME" | sed -e s@"\(.*\)####\(.*\)"@"\1$JT_HOME\2"@`"
       
   163   printf "%s\n" "$mn" >> $IDEA_ANT
       
   164 }
       
   165 
       
   166 ### Generate ant.xml
   156 ### Generate ant.xml
   167 
   157 
   168 rm -f $IDEA_ANT
   158 rm -f $IDEA_ANT
   169 while IFS= read -r line
   159 while IFS= read -r line
   170 do
   160 do
   171   if echo "$line" | egrep "^ .* <property name=\"module.name\"" > /dev/null ; then
   161   if echo "$line" | egrep "^ .* <property name=\"module.name\"" > /dev/null ; then
   172     addModuleName
   162     addModuleName
   173   elif echo "$line" | egrep "^ .* <property name=\"jtreg.home\"" > /dev/null ; then
       
   174     addJtregHome
       
   175   elif echo "$line" | egrep "^ .* <property name=\"build.target.dir\"" > /dev/null ; then
   163   elif echo "$line" | egrep "^ .* <property name=\"build.target.dir\"" > /dev/null ; then
   176     addBuildDir
   164     addBuildDir
   177   else
   165   else
   178     printf "%s\n" "$line" >> $IDEA_ANT
   166     printf "%s\n" "$line" >> $IDEA_ANT
   179   fi
   167   fi
   180 done < "$ANT_TEMPLATE"
   168 done < "$ANT_TEMPLATE"
       
   169 
       
   170 ### Generate misc.xml
       
   171 
       
   172 rm -f $IDEA_MISC
       
   173 
       
   174 JTREG_HOME="    <path>####</path>"
       
   175 
       
   176 IMAGES_DIR="    <jre alt=\"true\" value=\"####\" />"
       
   177 
       
   178 addImagesDir() {
       
   179   DIR=`dirname $SPEC`/images/jdk
       
   180   mn="`echo "$IMAGES_DIR" | sed -e s@"\(.*\)####\(.*\)"@"\1$DIR\2"@`"
       
   181   printf "%s\n" "$mn" >> $IDEA_MISC
       
   182 }
       
   183 
       
   184 addJtregHome() {
       
   185   DIR=`dirname $SPEC`
       
   186   mn="`echo "$JTREG_HOME" | sed -e s@"\(.*\)####\(.*\)"@"\1$JT_HOME\2"@`"
       
   187   printf "%s\n" "$mn" >> $IDEA_MISC
       
   188 }
       
   189 
       
   190 rm -f $MISC_ANT
       
   191 while IFS= read -r line
       
   192 do
       
   193   if echo "$line" | egrep "^ .*<path>jtreg_home</path>" > /dev/null ; then
       
   194 	addJtregHome
       
   195   elif echo "$line" | egrep "^ .*<jre alt=\"true\" value=\"images_jdk\"" > /dev/null ; then
       
   196     addImagesDir
       
   197   else
       
   198     printf "%s\n" "$line" >> $IDEA_MISC
       
   199   fi
       
   200 done < "$MISC_TEMPLATE"
   181 
   201 
   182 ### Compile the custom Logger
   202 ### Compile the custom Logger
   183 
   203 
   184 CLASSES=$IDEA_OUTPUT/classes
   204 CLASSES=$IDEA_OUTPUT/classes
   185 
   205