if (this.buildSetting.isInCompilerMode() && !this.doObfuscate) {
if ( this.buildSetting.isInCompilerMode() && ! this.buildSetting.doPreverifyInCompilerMode()) {
	private void compile( Device device ) {		// set the class-path:		String[] classPaths = this.libraryManager.getClassPaths(device);		device.setClassPaths( classPaths );		// setting target directory:		String targetDirName = device.getBaseDir() + File.separatorChar + "classes";		device.setClassesDir( targetDirName );				if (device.getNumberOfChangedFiles() == 0 && !this.lastRunFailed) {			System.out.println("nothing to compile for device [" +  device.getIdentifier() + "]." );			return;					}		System.out.println("compiling for device [" +  device.getIdentifier() + "]." );				// add binary class files, if there are any:		if (this.binaryLibrariesUpdated) {			System.out.println("copying binary libraries from [" + this.binaryLibrariesDir.getAbsolutePath() + "] to [" + targetDirName + "]");			try {				FileUtil.copyDirectoryContents( this.binaryLibrariesDir, targetDirName, true );			} catch (IOException e) {				e.printStackTrace();				throw new BuildException("Unable to copy binary class files: " + e.toString() + ". Please report this error to j2mepolish@enough.de.", e );			}		}				// init javac task:		Javac javac = new Javac();		javac.setProject( this.project );		javac.setTaskName(getTaskName() + "-javac-" + device.getIdentifier() );		//javac.target=1.1 or javac.target=1.2 is needed for the preverification:		javac.setTarget( this.javacTarget );		//if (this.javacTarget == BuildSetting.TARGET_1_1) {			// -source == 1.3 is apparently always needed for J2SE 1.5			javac.setSource( this.sourceCompatibility );		//}		if (this.buildSetting.isDebugEnabled()) {			javac.setDebug(true);			javac.setDebugLevel("lines,vars,source");		}		File targetDir;		if (this.buildSetting.isInCompilerMode() && !this.doObfuscate) {			targetDir = this.buildSetting.getCompilerDestDir();		} else {			targetDir = new File( targetDirName );		}		if (!targetDir.exists()) {			targetDir.mkdirs();		}		javac.setDestdir( targetDir );		javac.setSrcdir(new Path( this.project,  device.getSourceDir() ) );		//javac.setSourcepath(new Path( this.project,  "" ));		if (device.isMidp1()) {			javac.setBootclasspath(this.midp1BootClassPath);		} else {			if (device.isCldc10()) {				javac.setBootclasspath(this.midp2BootClassPath);			} else {				javac.setBootclasspath(this.midp2Cldc11BootClassPath);			}		}		if (device.getClassPath() != null) {			javac.setClasspath( new Path(this.project, device.getClassPath() ) );		}		// start compile:		if (this.polishLogger != null) {			this.polishLogger.setCompileMode( true );		}		try {			javac.execute();		} catch (BuildException e) {			if (this.polishLogger != null) {				this.polishLogger.setCompileMode(false);				if (this.polishLogger.isInternalCompilationError()) {					System.out.println("An internal class of J2ME Polish could not be compiled. " +							"Please try a clean rebuild by either calling \"ant clean j2mepolish\"" +							" or by removing the working directory \"" 							+ this.buildSetting.getWorkDir().getAbsolutePath() + "\".");					System.out.println("When an API-class was not found, you might need " +							"to define where to find the device-APIs. Following classpath " +							"has been used: [" + device.getClassPath() + "].");					throw new BuildException( "Unable to compile source code for device [" + device.getIdentifier() + "]: " + e.getMessage(), e );				} else {					System.out.println("When an API-class was not found, you might need to define where to find the device-APIs. Following classpath has been used: [" + device.getClassPath() + "].");					throw new BuildException( "Unable to compile source code for device [" + device.getIdentifier() + "]: " + e.getMessage(), e );				}			} else {				System.out.println("If an error occured in the J2ME Polish packages, please try a clean rebuild - e.g. [ant clean] and then [ant].");				System.out.println("Alternatively you might need to define where to find the device-APIs. Following classpath has been used: [" + device.getClassPath() + "].");				throw new BuildException( "Unable to compile source code for device [" + device.getIdentifier() + "]: " + e.getMessage(), e );			}		}		if (this.polishLogger != null) {			this.polishLogger.setCompileMode( false );		}			}