mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[no review] InspectionDiff works with new inspection results format
This commit is contained in:
+26
-40
@@ -5,62 +5,48 @@
|
||||
::----------------------------------------------------------------------
|
||||
|
||||
:: ---------------------------------------------------------------------
|
||||
:: Before you can run IntelliJ IDEA, please, specify the location of the
|
||||
:: Sun's JDK 1.4.0_01 (or higher) on your system.
|
||||
:: The JDK you specify here will be used to start IntelliJ IDEA.
|
||||
:: You may also specify JDK location in IDEA_JAVA_HOME environment
|
||||
:: variable.
|
||||
:: Before you run IntelliJ IDEA specify the location of the
|
||||
:: JDK 1.5 installation directory which will be used for running IDEA
|
||||
:: ---------------------------------------------------------------------
|
||||
IF NOT EXIST "%IDEA_JAVA_HOME%" SET IDEA_JAVA_HOME=c:\j2sdk1.4.0_01
|
||||
|
||||
IF "%IDEA_JDK%" == "" SET IDEA_JDK=%JDK_HOME%
|
||||
IF "%IDEA_JDK%" == "" goto error
|
||||
|
||||
:: ---------------------------------------------------------------------
|
||||
:: Before you run IntelliJ IDEA, please, specify the location of the
|
||||
:: Before you run IntelliJ IDEA specify the location of the
|
||||
:: directory where IntelliJ IDEA is installed
|
||||
:: In most cases you do not need to change the settings below.
|
||||
:: ---------------------------------------------------------------------
|
||||
SET IDEA_HOME=..
|
||||
|
||||
:: ---------------------------------------------------------------------
|
||||
:: If you have correctly set the IDEA_JAVA_HOME path, then in most cases
|
||||
:: you will not need to change the settings below.
|
||||
:: ---------------------------------------------------------------------
|
||||
SET JAVA_EXE=%IDEA_JAVA_HOME%\bin\java.exe
|
||||
|
||||
SET JAVA_EXE=%IDEA_JDK%\jre\bin\java.exe
|
||||
IF NOT EXIST "%JAVA_EXE%" goto error
|
||||
|
||||
IF NOT EXIST "%IDEA_JAVA_HOME%\lib\tools.jar" goto error
|
||||
IF "%IDEA_MAIN_CLASS_NAME%" == "" SET IDEA_MAIN_CLASS_NAME=com.intellij.codeInspection.InspectionDiff
|
||||
|
||||
SET OLD_CVS_PASSFILE=%CVS_PASSFILE%
|
||||
IF "%CVS_PASSFILE%" == "" SET CVS_PASSFILE=C:\.cvspass
|
||||
|
||||
SET MAIN_CLASS_NAME=com.intellij.codeInspection.InspectionDiff
|
||||
IF NOT "%IDEA_PROPERTIES%" == "" set IDEA_PROPERTIES_PROPERTY=-Didea.properties.file=%IDEA_PROPERTIES%
|
||||
|
||||
:: ---------------------------------------------------------------------
|
||||
:: You may specify your own JVM arguments in IDEA_JVM_ARGS variable.
|
||||
:: You may specify your own JVM arguments in idea.exe.vmoptions file. Put one option per line there.
|
||||
:: ---------------------------------------------------------------------
|
||||
IF "%IDEA_JVM_ARGS%" == "" set IDEA_JVM_ARGS=-Xms16m -Xmx128m -Dsun.java2d.noddraw=true
|
||||
SET ACC=
|
||||
FOR /F "delims=" %%i in (%IDEA_HOME%\bin\idea.exe.vmoptions) DO call %IDEA_HOME%\bin\append.bat "%%i"
|
||||
|
||||
SET JVM_ARGS= %IDEA_JVM_ARGS% -Didea.system.path="%IDEA_HOME%\system" -DCVS_PASSFILE="%CVS_PASSFILE%"
|
||||
set REQUIRED_IDEA_JVM_ARGS=-Xbootclasspath/p:%IDEA_HOME%/lib/boot.jar %IDEA_PROPERTIES_PROPERTY% %REQUIRED_IDEA_JVM_ARGS%
|
||||
SET JVM_ARGS=%ACC% %REQUIRED_IDEA_JVM_ARGS%
|
||||
|
||||
SET OLD_PATH=%PATH%
|
||||
SET PATH=%IDEA_JAVA_HOME%\bin;%PATH%
|
||||
SET PATH=%IDEA_HOME%\bin;%PATH%
|
||||
|
||||
SET CLASS_PATH=%IDEA_HOME%\lib\xerces.jar
|
||||
SET CLASS_PATH=%IDEA_HOME%\lib\bootstrap.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\idea.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\idea_rt.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\icons.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\resources_en.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\openapi.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\jdom.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\oromatcher.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\jh.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\ant.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\optional.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\junit.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\servlet.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\log4j.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\velocity.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\JNIWrap.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\jasper-compiler.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\jasper-runtime.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_JAVA_HOME%\lib\tools.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\extensions.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_HOME%\lib\trove4j.jar
|
||||
SET CLASS_PATH=%CLASS_PATH%;%IDEA_JDK%\lib\tools.jar
|
||||
|
||||
:: ---------------------------------------------------------------------
|
||||
:: You may specify additional class paths in IDEA_CLASS_PATH variable.
|
||||
@@ -68,15 +54,15 @@ SET CLASS_PATH=%CLASS_PATH%;%IDEA_JAVA_HOME%\lib\tools.jar
|
||||
:: ---------------------------------------------------------------------
|
||||
IF NOT "%IDEA_CLASS_PATH%" == "" SET CLASS_PATH=%CLASS_PATH%;%IDEA_CLASS_PATH%
|
||||
|
||||
"%JAVA_EXE%" %JVM_ARGS% -cp "%CLASS_PATH%" %MAIN_CLASS_NAME% %*
|
||||
"%JAVA_EXE%" %JVM_ARGS% -cp "%CLASS_PATH%" %IDEA_MAIN_CLASS_NAME% %*
|
||||
|
||||
SET PATH=%OLD_PATH%
|
||||
SET CVS_PASSFILE=%OLD_CVS_PASSFILE%
|
||||
goto end
|
||||
:error
|
||||
echo ---------------------------------------------------------------------
|
||||
echo ERROR: cannot start IntelliJ IDEA.
|
||||
echo Please, specify IDEA_JAVA_HOME variable in this batch file.
|
||||
echo No JDK found to run IDEA. Please validate either IDEA_JDK or JDK_HOME points to valid JDK installation
|
||||
echo ---------------------------------------------------------------------
|
||||
pause
|
||||
:end
|
||||
|
||||
:end
|
||||
|
||||
+41
-46
@@ -4,33 +4,17 @@
|
||||
# IntelliJ IDEA Startup Script for Unix
|
||||
# ------------------------------------------------------
|
||||
#
|
||||
# Please customize this script by specifying locations of JDK_HOME and
|
||||
# IDEA_HOME below
|
||||
#
|
||||
|
||||
#--------------------------------------------------------------------------
|
||||
# Specify the JAVA_HOME for this script. JAVA_HOME should refer to the
|
||||
# home location where your system's Java Development Kit version 1.4 is installed
|
||||
# For instance, the supplied example assumes the JDK is installed at
|
||||
# /usr/java/j2sdk1.4.0_01
|
||||
|
||||
darwin=false;
|
||||
case "`uname`" in
|
||||
Darwin*) darwin=true;
|
||||
esac
|
||||
|
||||
if [ -z "$JAVA_HOME" ]; then
|
||||
if $darwin ; then
|
||||
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
|
||||
else
|
||||
JAVA_HOME=/usr/java/j2sdk1.4.0_01
|
||||
fi
|
||||
# ---------------------------------------------------------------------
|
||||
# Before you run IntelliJ IDEA specify the location of the
|
||||
# JDK 1.5 installation directory which will be used for running IDEA
|
||||
# ---------------------------------------------------------------------
|
||||
if [ -z "$IDEA_JDK" ]; then
|
||||
IDEA_JDK=$JDK_HOME
|
||||
if [ -z "$IDEA_JDK" ]; then
|
||||
echo ERROR: cannot start IntelliJ IDEA.
|
||||
echo No JDK found to run IDEA. Please validate either IDEA_JDK or JDK_HOME points to valid JDK installation
|
||||
fi
|
||||
|
||||
if $darwin ; then
|
||||
TOOLS_PATH=$JAVA_HOME/lib/ext/jpda.jar
|
||||
else
|
||||
TOOLS_PATH=$JAVA_HOME/lib/tools.jar
|
||||
fi
|
||||
|
||||
#--------------------------------------------------------------------------
|
||||
@@ -38,31 +22,42 @@ fi
|
||||
# home directory where IntelliJ IDEA is installed on your system.
|
||||
|
||||
IDEA_HOME=`dirname "$0"`/..
|
||||
|
||||
if [ -z "$CVS_PASSFILE" ]; then
|
||||
CVS_PASSFILE=${HOME}/.cvspass
|
||||
fi
|
||||
IDEA_BIN_HOME=`dirname "$0"`
|
||||
|
||||
export JAVA_HOME
|
||||
export IDEA_HOME
|
||||
export CVS_PASSFILE
|
||||
|
||||
MAIN_CLASS_NAME="com.intellij.codeInspection.InspectionDiff"
|
||||
JVM_ARGS="-Xms16M -Xmx156M"
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
args="$args $1"
|
||||
shift
|
||||
done
|
||||
|
||||
oldcp=$CLASSPATH
|
||||
CLASSPATH=$IDEA_HOME/lib/idea.jar:$IDEA_HOME/lib/jh.jar:$IDEA_HOME/lib/oromatcher.jar:$IDEA_HOME/lib/jaxp.jar:$IDEA_HOME/lib/xerces.jar:$IDEA_HOME/lib/jdom.jar:$TOOLS_PATH:$IDEA_HOME/lib/icons.jar:$IDEA_HOME/lib/ant.jar:$IDEA_HOME/lib/junit.jar:$IDEA_HOME/lib/optional.jar:$IDEA_HOME/lib/servlet.jar:$IDEA_HOME/lib/log4j.jar
|
||||
BOOT_CLASS_PATH=$IDEA_HOME/lib/jaxp.jar:$IDEA_HOME/lib/xerces.jar:$IDEA_HOME/lib/jdom.jar
|
||||
|
||||
# Append old classpath to current classpath
|
||||
if [ ! -z "$oldcp" ]; then
|
||||
CLASSPATH=${CLASSPATH}:$oldcp
|
||||
if [ -n "$IDEA_PROPERTIES" ]; then
|
||||
IDEA_PROPERTIES_PROPERTY=-Didea.properties.file=$IDEA_PROPERTIES
|
||||
fi
|
||||
|
||||
if [ -z "$IDEA_MAIN_CLASS_NAME" ]; then
|
||||
IDEA_MAIN_CLASS_NAME="com.intellij.codeInspection.InspectionDiff"
|
||||
fi
|
||||
|
||||
if [ -z "$IDEA_VM_OPTIONS" ]; then
|
||||
IDEA_VM_OPTIONS="$IDEA_HOME/bin/idea.vmoptions"
|
||||
fi
|
||||
|
||||
REQUIRED_JVM_ARGS="-Xbootclasspath/p:../lib/boot.jar $IDEA_PROPERTIES_PROPERTY $REQUIRED_JVM_ARGS"
|
||||
JVM_ARGS=`tr '\n' ' ' < "$IDEA_VM_OPTIONS"`
|
||||
JVM_ARGS="$JVM_ARGS $REQUIRED_JVM_ARGS"
|
||||
|
||||
CLASSPATH=../lib/bootstrap.jar
|
||||
CLASSPATH=$CLASSPATH:../lib/openapi.jar
|
||||
CLASSPATH=$CLASSPATH:../lib/idea.jar
|
||||
CLASSPATH=$CLASSPATH:../lib/resources_en.jar
|
||||
CLASSPATH=$CLASSPATH:../lib/jdom.jar
|
||||
CLASSPATH=$CLASSPATH:../lib/log4j.jar
|
||||
CLASSPATH=$CLASSPATH:../lib/extensions.jar
|
||||
CLASSPATH=$CLASSPATH:../lib/trove4j.jar
|
||||
CLASSPATH=$CLASSPATH:$IDEA_JDK/lib/tools.jar
|
||||
CLASSPATH=$CLASSPATH:$IDEA_CLASSPATH
|
||||
|
||||
export CLASSPATH
|
||||
exec ${JAVA_HOME}/bin/java -Xbootclasspath/p:${BOOT_CLASS_PATH} -DCVS_PASSFILE=${CVS_PASSFILE} $JVM_ARGS $MAIN_CLASS_NAME $args
|
||||
|
||||
LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
|
||||
export LD_LIBRARY_PATH
|
||||
|
||||
cd "$IDEA_BIN_HOME"
|
||||
exec $IDEA_JDK/bin/java $JVM_ARGS $IDEA_MAIN_CLASS_NAME $*
|
||||
|
||||
@@ -48,27 +48,49 @@ public class InspectionDiff {
|
||||
String newPath = args[1];
|
||||
String outPath = args.length == 3 ? args[2] : null;
|
||||
|
||||
|
||||
try {
|
||||
InputStream oldStream = new BufferedInputStream(new FileInputStream(oldPath));
|
||||
InputStream newStream = new BufferedInputStream(new FileInputStream(newPath));
|
||||
|
||||
Document oldDoc = JDOMUtil.loadDocument(oldStream);
|
||||
Document newDoc = JDOMUtil.loadDocument(newStream);
|
||||
|
||||
OutputStream outStream = System.out;
|
||||
if (outPath != null) {
|
||||
outStream = new BufferedOutputStream(new FileOutputStream(outPath));
|
||||
final File oldResults = new File(oldPath);
|
||||
final File newResults = new File(newPath);
|
||||
if (oldResults.isDirectory() && newResults.isDirectory()) {
|
||||
final File[] old = oldResults.listFiles();
|
||||
final File[] results = newResults.listFiles();
|
||||
for (File result : results) {
|
||||
final String inspectionName = result.getName();
|
||||
boolean found = false;
|
||||
for (File oldFile : old) {
|
||||
if (oldFile.getName().equals(inspectionName)) {
|
||||
writeInspectionDiff(oldFile.getPath(), result.getPath(), outPath);
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
writeInspectionDiff(null, result.getPath(), outPath);
|
||||
}
|
||||
}
|
||||
|
||||
Document delta = createDelta(oldDoc, newDoc);
|
||||
JDOMUtil.writeDocument(delta, outStream, "\n");
|
||||
} catch (Exception e) {
|
||||
System.out.println(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static void writeInspectionDiff(final String oldPath, final String newPath, final String outPath) {
|
||||
try {
|
||||
InputStream oldStream = oldPath != null ? new BufferedInputStream(new FileInputStream(oldPath)) : null;
|
||||
InputStream newStream = new BufferedInputStream(new FileInputStream(newPath));
|
||||
|
||||
Document oldDoc = oldStream != null ? JDOMUtil.loadDocument(oldStream) : null;
|
||||
Document newDoc = JDOMUtil.loadDocument(newStream);
|
||||
|
||||
OutputStream outStream = System.out;
|
||||
if (outPath != null) {
|
||||
outStream = new BufferedOutputStream(new FileOutputStream(outPath + File.separator + new File(oldPath).getName()));
|
||||
}
|
||||
|
||||
Document delta = createDelta(oldDoc, newDoc);
|
||||
JDOMUtil.writeDocument(delta, outStream, "\n");
|
||||
} catch (Exception e) {
|
||||
System.out.println(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings({"HardCodedStringLiteral"})
|
||||
private static Document createDelta(Document oldDoc, Document newDoc) {
|
||||
Element oldRoot = oldDoc.getRootElement();
|
||||
|
||||
Reference in New Issue
Block a user