本文整理汇总了Java中org.jetbrains.jps.incremental.messages.BuildMessage类的典型用法代码示例。如果您正苦于以下问题:Java BuildMessage类的具体用法?Java BuildMessage怎么用?Java BuildMessage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BuildMessage类属于org.jetbrains.jps.incremental.messages包,在下文中一共展示了BuildMessage类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: outputLineAvailable
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
public void outputLineAvailable(String line) {
if (!StringUtil.isEmpty(line)) {
if (line.startsWith(ExternalJavacManager.STDOUT_LINE_PREFIX)) {
//noinspection UseOfSystemOutOrSystemErr
System.out.println(line);
}
else if (line.startsWith(ExternalJavacManager.STDERR_LINE_PREFIX)) {
//noinspection UseOfSystemOutOrSystemErr
System.err.println(line);
}
else if (line.contains("java.lang.OutOfMemoryError")) {
myContext.processMessage(new CompilerMessage(BUILDER_NAME, BuildMessage.Kind.ERROR, "OutOfMemoryError: insufficient memory"));
myErrorCount++;
}
else {
final BuildMessage.Kind kind = getKindByMessageText(line);
if (kind == BuildMessage.Kind.ERROR) {
myErrorCount++;
}
else if (kind == BuildMessage.Kind.WARNING) {
myWarningCount++;
}
myContext.processMessage(new CompilerMessage(BUILDER_NAME, kind, line));
}
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:27,代码来源:JavaBuilder.java
示例2: sortJars
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
@Nullable
private JarInfo[] sortJars() {
final DFSTBuilder<JarInfo> builder = new DFSTBuilder<JarInfo>(GraphGenerator.create(CachingSemiGraph.create(new JarsGraph())));
if (!builder.isAcyclic()) {
final Pair<JarInfo, JarInfo> dependency = builder.getCircularDependency();
String message = "Cannot build: circular dependency found between '" + dependency.getFirst().getPresentableDestination() +
"' and '" + dependency.getSecond().getPresentableDestination() + "'";
myContext.processMessage(new CompilerMessage(IncArtifactBuilder.BUILDER_NAME, BuildMessage.Kind.ERROR, message));
return null;
}
JarInfo[] jars = myJarsToBuild.toArray(new JarInfo[myJarsToBuild.size()]);
Arrays.sort(jars, builder.comparator());
jars = ArrayUtil.reverseArray(jars);
return jars;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:JarsBuilder.java
示例3: createManifest
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
@Nullable
private Manifest createManifest(InputStream manifestStream, File manifestFile) {
try {
try {
return new Manifest(manifestStream);
}
finally {
manifestStream.close();
}
}
catch (IOException e) {
myContext.processMessage(new CompilerMessage(IncArtifactBuilder.BUILDER_NAME, BuildMessage.Kind.ERROR,
"Cannot create MANIFEST.MF from " + manifestFile.getAbsolutePath() + ":" + e.getMessage()));
LOG.debug(e);
return null;
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:JarsBuilder.java
示例4: instrument
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
@Override
@Nullable
protected BinaryContent instrument(CompileContext context,
CompiledClass compiledClass,
ClassReader reader,
ClassWriter writer,
InstrumentationClassFinder finder) {
try {
if (NotNullVerifyingInstrumenter.processClassFile(reader, writer)) {
return new BinaryContent(writer.toByteArray());
}
}
catch (Throwable e) {
final StringBuilder msg = new StringBuilder();
msg.append("@NotNull instrumentation failed ");
final File sourceFile = compiledClass.getSourceFile();
msg.append(" for ").append(sourceFile.getName());
msg.append(": ").append(e.getMessage());
context.processMessage(new CompilerMessage(getPresentableName(), BuildMessage.Kind.ERROR, msg.toString(), sourceFile.getPath()));
}
return null;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:NotNullInstrumentingBuilder.java
示例5: ensureModuleHasJdk
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
@NotNull
public static JpsSdk<JpsDummyElement> ensureModuleHasJdk(JpsModule module, CompileContext context, final String compilerName) throws
ProjectBuildException {
JpsSdkReference<JpsDummyElement> reference = module.getSdkReference(JpsJavaSdkType.INSTANCE);
if (reference == null) {
context.processMessage(new CompilerMessage(compilerName, BuildMessage.Kind.ERROR, "JDK isn't specified for module '" + module.getName() + "'"));
throw new StopBuildException();
}
JpsTypedLibrary<JpsSdk<JpsDummyElement>> sdkLibrary = reference.resolve();
if (sdkLibrary == null) {
context.processMessage(new CompilerMessage(compilerName, BuildMessage.Kind.ERROR,
"Cannot find JDK '" + reference.getSdkName() + "' for module '" + module.getName() + "'"));
throw new StopBuildException();
}
return sdkLibrary.getProperties();
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:JavaBuilderUtil.java
示例6: processMessage
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
@Override
public void processMessage(BuildMessage msg) {
if (msg.getKind() == BuildMessage.Kind.ERROR) {
myErrorMessages.add(msg);
myUpToDate = false;
}
else if (msg.getKind() == BuildMessage.Kind.WARNING) {
myWarnMessages.add(msg);
}
else {
myInfoMessages.add(msg);
}
if (msg instanceof DoneSomethingNotification) {
myUpToDate = false;
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:BuildResult.java
示例7: addMessages
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
public static void addMessages(@NotNull CompileContext context,
@NotNull Map<AndroidCompilerMessageKind, List<String>> messages,
@NotNull String builderName,
@NotNull String entryName) {
for (Map.Entry<AndroidCompilerMessageKind, List<String>> entry : messages.entrySet()) {
for (String message : entry.getValue()) {
String filePath = null;
int line = -1;
final Matcher matcher = AndroidCommonUtils.COMPILER_MESSAGE_PATTERN.matcher(message);
if (matcher.matches()) {
filePath = matcher.group(1);
line = Integer.parseInt(matcher.group(2));
}
final BuildMessage.Kind category = toBuildMessageKind(entry.getKey());
if (category != null) {
context.processMessage(
new CompilerMessage(builderName, category, '[' + entryName + "] " + message, filePath, -1L, -1L, -1L, line, -1L));
}
}
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:AndroidJpsUtil.java
示例8: getAndroidPlatform
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
@Nullable
public static AndroidPlatform getAndroidPlatform(@NotNull JpsModule module,
@Nullable CompileContext context,
String builderName) {
final JpsSdk<JpsSimpleElement<JpsAndroidSdkProperties>> sdk = module.getSdk(JpsAndroidSdkType.INSTANCE);
if (sdk == null) {
if (context != null) {
context.processMessage(new CompilerMessage(builderName, BuildMessage.Kind.ERROR,
AndroidJpsBundle.message("android.jps.errors.sdk.not.specified", module.getName())));
}
return null;
}
final Pair<IAndroidTarget, LocalSdk> pair = getAndroidTarget(sdk, context, builderName);
if (pair == null) {
if (context != null) {
context.processMessage(new CompilerMessage(builderName, BuildMessage.Kind.ERROR,
AndroidJpsBundle.message("android.jps.errors.sdk.invalid", module.getName())));
}
return null;
}
return new AndroidPlatform(sdk, pair.getFirst(), pair.getSecond());
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:24,代码来源:AndroidJpsUtil.java
示例9: warnUserAboutForciblyExcludedRoots
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
private static void warnUserAboutForciblyExcludedRoots(@NotNull Set<String> paths, @NotNull CompileContext context) {
for (String dir : paths) {
final boolean hasFileToCopy = !FileUtil.processFilesRecursively(new File(dir), new Processor<File>() {
@Override
public boolean process(File file) {
try {
return !shouldBeCopied(file);
}
catch (IOException e) {
return false;
}
}
});
if (hasFileToCopy) {
context.processMessage(new CompilerMessage(ANDROID_GENERATED_SOURCES_PROCESSOR, BuildMessage.Kind.WARNING,
"Source root " + FileUtil.toSystemDependentName(dir) +
" was forcibly excluded by the IDE, so custom generated files won't be compiled"));
}
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:22,代码来源:AndroidSourceGeneratingBuilder.java
示例10: deleteAndMarkRecursively
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
private static boolean deleteAndMarkRecursively(@NotNull File dir, @NotNull CompileContext context, @NotNull String compilerName)
throws IOException {
if (dir.exists()) {
final List<File> filesToDelete = collectJavaFilesRecursively(dir);
if (!FileUtil.delete(dir)) {
context.processMessage(
new CompilerMessage(compilerName, BuildMessage.Kind.ERROR, AndroidJpsBundle.message("android.jps.cannot.delete", dir.getPath())));
return false;
}
for (File file : filesToDelete) {
FSOperations.markDeleted(context, file);
}
}
return true;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:AndroidSourceGeneratingBuilder.java
示例11: addMessages
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
private static void addMessages(@NotNull CompileContext context,
@NotNull Map<AndroidCompilerMessageKind, List<String>> messages,
@NotNull String sourcePath,
@NotNull String builderName) {
for (Map.Entry<AndroidCompilerMessageKind, List<String>> entry : messages.entrySet()) {
final AndroidCompilerMessageKind kind = entry.getKey();
final BuildMessage.Kind buildMessageKind = AndroidJpsUtil.toBuildMessageKind(kind);
if (buildMessageKind == null) {
continue;
}
for (String message : entry.getValue()) {
context.processMessage(new CompilerMessage(builderName, buildMessageKind, message, sourcePath));
}
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:AndroidSourceGeneratingBuilder.java
示例12: copyFile
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
public void copyFile(File file, Ref<File> targetFileRef, ResourceRootConfiguration rootConfiguration, CompileContext context,
FileFilter filteringFilter) throws IOException {
boolean shouldFilter = rootConfiguration.isFiltered && !rootConfiguration.filters.isEmpty() && filteringFilter.accept(file);
if (shouldFilter && file.length() > FILTERING_SIZE_LIMIT) {
context.processMessage(new CompilerMessage(
GradleResourcesBuilder.BUILDER_NAME, BuildMessage.Kind.WARNING,
"File is too big to be filtered. Most likely it is a binary file and should be excluded from filtering", file.getPath())
);
shouldFilter = false;
}
if (shouldFilter) {
copyWithFiltering(file, targetFileRef, rootConfiguration.filters, context);
}
else {
FileUtil.copyContent(file, targetFileRef.get());
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:GradleResourceFileProcessor.java
示例13: copyFile
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
public void copyFile(File file, File targetFile, ResourceRootConfiguration rootConfiguration, CompileContext context,
FileFilter filteringFilter) throws IOException {
boolean shouldFilter = rootConfiguration.isFiltered && !myFilteringExcludedExtensions.contains(FileUtilRt.getExtension(file.getName()))
&& filteringFilter.accept(file);
if (shouldFilter && file.length() > FILTERING_SIZE_LIMIT) {
context.processMessage(new CompilerMessage("MavenResources", BuildMessage.Kind.WARNING,
"File is too big to be filtered. Most likely it is a binary file and should be excluded from filtering",
file.getPath()));
shouldFilter = false;
}
if (shouldFilter) {
copyWithFiltering(file, targetFile);
}
else {
FileUtil.copyContent(file, targetFile);
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:MavenResourceFileProcessor.java
示例14: instrument
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
@Nullable
@Override
protected BinaryContent instrument(CompileContext context, CompiledClass compiled, ClassReader reader, ClassWriter writer, InstrumentationClassFinder finder) {
final JpsIntelliLangConfiguration config =
JpsIntelliLangExtensionService.getInstance().getConfiguration(context.getProjectDescriptor().getModel().getGlobal());
final PatternInstrumenter instrumenter =
new PatternInstrumenter(config.getPatternAnnotationClass(), writer, config.getInstrumentationType(), finder);
try {
reader.accept(instrumenter, 0);
if (instrumenter.instrumented()) {
return new BinaryContent(writer.toByteArray());
}
}
catch (InstrumentationException e) {
context.processMessage(new CompilerMessage(getPresentableName(), BuildMessage.Kind.ERROR, e.getMessage()));
}
return null;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:PatternValidatorBuilder.java
示例15: shouldRetry
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
public boolean shouldRetry() {
if (myExitCode != 0) {
LOG.debug("Non-zero exit code");
return true;
}
for (CompilerMessage message : compilerMessages) {
if (message.getKind() == BuildMessage.Kind.ERROR) {
LOG.debug("Error message: " + message);
return true;
}
if (message.getMessageText().contains(GroovyRtConstants.GROOVYC_STUB_GENERATION_FAILED)) {
LOG.debug("Stub failed message: " + message);
return true;
}
}
if (getStdErr().length() > 0) {
LOG.debug("Non-empty stderr: '" + getStdErr() + "'");
return true;
}
return false;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:22,代码来源:GroovycOutputParser.java
示例16: getCompilerMessages
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
public List<CompilerMessage> getCompilerMessages(String moduleName) {
ArrayList<CompilerMessage> messages = new ArrayList<CompilerMessage>(compilerMessages);
final StringBuffer unparsedBuffer = getStdErr();
if (unparsedBuffer.length() != 0) {
String msg = unparsedBuffer.toString();
if (msg.contains(GroovyRtConstants.NO_GROOVY)) {
messages.add(new CompilerMessage("", BuildMessage.Kind.ERROR,
"Cannot compile Groovy files: no Groovy library is defined for module '" + moduleName + "'"));
} else {
messages.add(new CompilerMessage("Groovyc", BuildMessage.Kind.INFO, msg));
}
}
if (myExitCode != 0) {
for (CompilerMessage message : messages) {
if (message.getKind() == BuildMessage.Kind.ERROR) {
return messages;
}
}
messages.add(new CompilerMessage("Groovyc", BuildMessage.Kind.ERROR, "Internal groovyc error: code " + myExitCode));
}
return messages;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:26,代码来源:GroovycOutputParser.java
示例17: build
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
@Override
public void build(CompileContext context) throws ProjectBuildException {
final Set<JpsSdk<?>> sdks = context.getProjectDescriptor().getProjectJavaSdks();
JpsSdk javaSdk = null;
for (JpsSdk<?> sdk : sdks) {
final JpsSdkType<? extends JpsElement> sdkType = sdk.getSdkType();
if (sdkType instanceof JpsJavaSdkType) {
javaSdk = sdk;
break;
}
}
if (javaSdk == null) {
context.processMessage(new CompilerMessage(COMPILER_NAME, BuildMessage.Kind.ERROR, "Java version 7 or higher is required to build JavaFX package"));
return;
}
new JpsJavaFxPackager(myProps, context, myArtifact).buildJavaFxArtifact(javaSdk.getHomePath());
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:JpsJavaFxArtifactBuildTaskProvider.java
示例18: runConfigure
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
/**
* Runs cabal configure.
*/
private static boolean runConfigure(CompileContext context, JpsModule module, CabalJspInterface cabal)
throws IOException, InterruptedException, ExecutionException {
context.processMessage(new CompilerMessage("cabal", BuildMessage.Kind.INFO, "Start configure"));
Process configureProcess = cabal.configure();
processOut(context, configureProcess, module);
if (configureProcess.waitFor() != 0) {
context.processMessage(new CompilerMessage(
"cabal",
BuildMessage.Kind.ERROR,
"configure failed."));
return true;
}
return false;
}
开发者ID:carymrobbins,项目名称:intellij-haskforce,代码行数:21,代码来源:CabalBuilder.java
示例19: runInstallDependencies
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
/**
* Runs cabal install --only-dependencies
*/
private static boolean runInstallDependencies(CompileContext context, JpsModule module, CabalJspInterface cabal)
throws IOException, InterruptedException, ExecutionException {
if (!installDependenciesRequired(cabal)) {
return false;
}
context.processMessage(new CompilerMessage("cabal", BuildMessage.Kind.INFO, "Install dependencies"));
Process installDependenciesProcess = cabal.installDependencies();
processOut(context, installDependenciesProcess, module, true);
if (installDependenciesProcess.waitFor() != 0) {
context.processMessage(new CompilerMessage(
"cabal",
BuildMessage.Kind.ERROR,
"install dependencies failed."));
return true;
}
return false;
}
开发者ID:carymrobbins,项目名称:intellij-haskforce,代码行数:26,代码来源:CabalBuilder.java
示例20: runSandboxInit
import org.jetbrains.jps.incremental.messages.BuildMessage; //导入依赖的package包/类
/**
* Runs cabal sandbox init
*/
private static boolean runSandboxInit(CompileContext context, JpsModule module, CabalJspInterface cabal, File cabalFile)
throws IOException, InterruptedException, ExecutionException {
// If sandbox already exists, no need to run init - just bail out.
if (new File(cabalFile.getParent(), "cabal.sandbox.config").isFile()) {
return false;
}
context.processMessage(new CompilerMessage("cabal", BuildMessage.Kind.INFO, "Create sandbox"));
Process sandboxProcess = cabal.sandboxInit();
if (sandboxProcess.waitFor() != 0) {
context.processMessage(new CompilerMessage(
"cabal",
BuildMessage.Kind.ERROR,
"sandbox init failed."));
return true;
}
return false;
}
开发者ID:carymrobbins,项目名称:intellij-haskforce,代码行数:25,代码来源:CabalBuilder.java
注:本文中的org.jetbrains.jps.incremental.messages.BuildMessage类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论