本文整理汇总了Java中org.sonatype.plexus.build.incremental.BuildContext.newScanner方法的典型用法代码示例。如果您正苦于以下问题:Java BuildContext.newScanner方法的具体用法?Java BuildContext.newScanner怎么用?Java BuildContext.newScanner使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.sonatype.plexus.build.incremental.BuildContext
的用法示例。
在下文中一共展示了BuildContext.newScanner方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: shouldExecute
import org.sonatype.plexus.build.incremental.BuildContext; //导入方法依赖的package包/类
static boolean shouldExecute(BuildContext buildContext, List<File> triggerfiles, File srcdir) {
// If there is no buildContext, or this is not an incremental build, always execute.
if (buildContext == null || !buildContext.isIncremental()) {
return true;
}
if (triggerfiles != null) {
for (File triggerfile : triggerfiles) {
if (buildContext.hasDelta(triggerfile)) {
return true;
}
}
}
if (srcdir == null) {
return true;
}
// Check for changes in the srcdir
Scanner scanner = buildContext.newScanner(srcdir);
scanner.scan();
String[] includedFiles = scanner.getIncludedFiles();
return (includedFiles != null && includedFiles.length > 0);
}
示例2: scanDirectoryForFiles
import org.sonatype.plexus.build.incremental.BuildContext; //导入方法依赖的package包/类
/**
* Scans given directory for files satisfying given inclusion/exclusion
* patterns.
*
* @param directory
* Directory to scan.
* @param includes
* inclusion pattern.
* @param excludes
* exclusion pattern.
* @param defaultExcludes
* default exclusion flag.
* @return Files from the given directory which satisfy given patterns. The
* files are {@link File#getCanonicalFile() canonical}.
*/
public static List<File> scanDirectoryForFiles(BuildContext buildContext,
final File directory, final String[] includes,
final String[] excludes, boolean defaultExcludes)
throws IOException {
if (!directory.exists()) {
return Collections.emptyList();
}
final Scanner scanner;
if (buildContext != null) {
scanner = buildContext.newScanner(directory, true);
} else {
final DirectoryScanner directoryScanner = new DirectoryScanner();
directoryScanner.setBasedir(directory.getAbsoluteFile());
scanner = directoryScanner;
}
scanner.setIncludes(includes);
scanner.setExcludes(excludes);
if (defaultExcludes) {
scanner.addDefaultExcludes();
}
scanner.scan();
final List<File> files = new ArrayList<File>();
for (final String name : scanner.getIncludedFiles()) {
files.add(new File(directory, name).getCanonicalFile());
}
return files;
}
示例3: build
import org.sonatype.plexus.build.incremental.BuildContext; //导入方法依赖的package包/类
@Override
public Set<IProject> build( int kind, IProgressMonitor monitor )
throws Exception
{
IMaven maven = MavenPlugin.getMaven();
BuildContext buildContext = getBuildContext();
// check if any of the grammar files changed
File source = maven.getMojoParameterValue(getSession(), getMojoExecution(), "schemaDirectory", File.class);
Scanner ds = buildContext.newScanner( source ); // delta or full scanner
ds.scan();
String[] includedFiles = ds.getIncludedFiles();
if (includedFiles == null || includedFiles.length <= 0 )
{
return null;
}
// execute mojo
Set<IProject> result = super.build( kind, monitor );
// tell m2e builder to refresh generated files
File generated = maven.getMojoParameterValue(getSession(), getMojoExecution(), "dest", File.class);
if (generated != null) {
buildContext.refresh( generated );
}
return result;
}
示例4: build
import org.sonatype.plexus.build.incremental.BuildContext; //导入方法依赖的package包/类
@Override
public Set<IProject> build(int kind, final IProgressMonitor monitor)
throws Exception {
final MojoExecution mojoExecution = getMojoExecution();
if (mojoExecution == null) {
return null;
}
final String phase = mojoExecution.getLifecyclePhase();
log.debug("phase: {}", phase);
final String goal = mojoExecution.getGoal();
log.debug("goal: {}", goal);
final IMaven maven = MavenPlugin.getMaven();
final IMavenProjectFacade currentProject = getMavenProjectFacade();
final BuildContext buildContext = getBuildContext();
final IMavenProjectRegistry projectRegistry = MavenPlugin.getMavenProjectRegistry();
ArtifactKey artifactKey = currentProject.getArtifactKey();
String shortArtifactKey = artifactKey.getGroupId() + ":"
+ artifactKey.getArtifactId() + ":" + artifactKey.getVersion();
log.debug("artifact key: {}", shortArtifactKey);
MavenProject mavenProject = currentProject.getMavenProject();
// File basedir = mavenProject.getBasedir();
// File inputPath = new File(basedir, "src");
File inputPath = maven.getMojoParameterValue(mavenProject, mojoExecution, inputPathParam, File.class, monitor);
String outputDirectoryPath = mavenProject.getBuild().getDirectory();
File outputDirectory = new File(outputDirectoryPath);
if (INCREMENTAL_BUILD == kind || AUTO_BUILD == kind) {
log.debug("scan resources {}", inputPath);
Scanner ds = buildContext.newScanner(inputPath);
ds.scan();
String[] files = ds.getIncludedFiles();
if (files == null || files.length <= 0) {
log.debug("build check: no resource changes");
log.debug("scan deleted resources {}", inputPath);
ds = buildContext.newDeleteScanner(inputPath);
ds.scan();
files = ds.getIncludedFiles();
if (files == null || files.length <= 0) {
return null;
} else {
log.debug("build check: resources deleted");
}
} else {
log.debug("build check: resources changed");
}
} else {
log.debug("build check: full build");
}
final Set<IProject> result = super.build(kind, monitor);
IProject project = currentProject.getProject();
project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
if (outputDirectory != null && outputDirectory.exists()) {
log.debug("refresh output directory: {}", outputDirectory);
buildContext.refresh(outputDirectory);
}
return result;
}
示例5: buildBundle
import org.sonatype.plexus.build.incremental.BuildContext; //导入方法依赖的package包/类
/**
*
* @param kind
* @param monitor
* @return
* @throws Exception
*/
private Set<IProject> buildBundle(int kind, IProgressMonitor monitor) throws Exception {
log.info("process \"bundle\" goal");
final IMaven maven = MavenPlugin.getMaven();
final IMavenProjectFacade currentProject = getMavenProjectFacade();
final MavenProject mavenProject = currentProject.getMavenProject();
final BuildContext buildContext = getBuildContext();
final IMavenProjectRegistry projectRegistry = MavenPlugin.getMavenProjectRegistry();
ArtifactKey artifactKey = currentProject.getArtifactKey();
String shortArtifactKey = artifactKey.getGroupId() + ":" + artifactKey.getArtifactId() + ":" + artifactKey.getVersion();
log.debug("artifact key: {}", shortArtifactKey);
File basedir = mavenProject.getBasedir();
File sourcesDirectory = new File(basedir, "src");
File resourcesDirectory = maven.getMojoParameterValue(getSession(), getMojoExecution(), "resourcesDirectory", File.class);
File outputDirectory = maven.getMojoParameterValue(getSession(), getMojoExecution(), "outputDirectory", File.class);
File remoteResourcesDescriptor = new File(outputDirectory, "META-INF/maven/remote-resources.xml");
String preprocessedFiles = null; // (String) buildContext.getValue("preprocessedFiles");
if (remoteResourcesDescriptor.exists()) {
if ((INCREMENTAL_BUILD == kind || AUTO_BUILD == kind) && preprocessedFiles == null) {
log.debug("scan resources {}", resourcesDirectory);
Scanner ds = buildContext.newScanner(resourcesDirectory);
ds.scan();
String[] files = ds.getIncludedFiles();
if (files == null || files.length <= 0) {
log.debug("build check: no resource changes");
log.debug("scan deleted resources {}", resourcesDirectory);
ds = buildContext.newDeleteScanner(resourcesDirectory);
ds.scan();
files = ds.getIncludedFiles();
if (files == null || files.length <= 0) {
return null;
} else {
log.debug("build check: resources deleted");
}
} else {
log.debug("build check: resources changed");
}
} else {
log.debug("build check: full build");
}
} else {
log.debug("build check: remote resources descriptor does not exists");
}
final Set<IProject> result = super.build(kind, monitor);
if (outputDirectory != null && outputDirectory.exists()) {
log.debug("refresh output directory: {}", outputDirectory);
buildContext.refresh(outputDirectory);
}
return result;
}
示例6: build
import org.sonatype.plexus.build.incremental.BuildContext; //导入方法依赖的package包/类
@Override
public Set<IProject> build(int kind, final IProgressMonitor monitor) throws Exception {
final MojoExecution mojoExecution = getMojoExecution();
if (mojoExecution == null) {
return null;
}
final String phase = mojoExecution.getLifecyclePhase();
log.debug("phase: {}", phase);
final String goal = mojoExecution.getGoal();
log.debug("goal: {}", goal);
final IMaven maven = MavenPlugin.getMaven();
final IMavenProjectFacade currentProject = getMavenProjectFacade();
final BuildContext buildContext = getBuildContext();
ArtifactKey artifactKey = currentProject.getArtifactKey();
String shortArtifactKey = artifactKey.getGroupId()
+ ":" + artifactKey.getArtifactId()
+ ":" + artifactKey.getVersion();
log.debug("artifact key: {}", shortArtifactKey);
MavenProject mavenProject = currentProject.getMavenProject();
File inputPath = maven.getMojoParameterValue(mavenProject, mojoExecution, inputPathParam, File.class, monitor);
String outputDirectoryPath = mavenProject.getBuild().getDirectory();
File outputDirectory = new File(outputDirectoryPath);
if (INCREMENTAL_BUILD == kind || AUTO_BUILD == kind) {
log.debug("scan resources {}", inputPath);
Scanner ds = buildContext.newScanner(inputPath);
ds.scan();
String[] files = ds.getIncludedFiles();
if (files == null || files.length <= 0) {
log.debug("build check: no resource changes");
log.debug("scan deleted resources {}", inputPath);
ds = buildContext.newDeleteScanner(inputPath);
ds.scan();
files = ds.getIncludedFiles();
if (files == null || files.length <= 0) {
return null;
} else {
log.debug("build check: resources deleted");
}
} else {
log.debug("build check: resources changed");
}
} else {
log.debug("build check: full build");
}
final Set<IProject> result = super.build(kind, monitor);
IProject project = currentProject.getProject();
project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
if (outputDirectory != null && outputDirectory.exists()) {
log.debug("refresh output directory: {}", outputDirectory);
buildContext.refresh(outputDirectory);
}
return result;
}
示例7: build
import org.sonatype.plexus.build.incremental.BuildContext; //导入方法依赖的package包/类
@Override
public Set<IProject> build(int kind, final IProgressMonitor monitor) throws Exception {
final MojoExecution mojoExecution = getMojoExecution();
if (mojoExecution == null) {
return null;
}
final String phase = mojoExecution.getLifecyclePhase();
log.debug("phase: {}", phase);
final String goal = mojoExecution.getGoal();
log.debug("goal: {}", goal);
final IMaven maven = MavenPlugin.getMaven();
final IMavenProjectFacade currentProject = getMavenProjectFacade();
final BuildContext buildContext = getBuildContext();
final IMavenProjectRegistry projectRegistry = MavenPlugin.getMavenProjectRegistry();
ArtifactKey artifactKey = currentProject.getArtifactKey();
String shortArtifactKey = artifactKey.getGroupId() + ":" + artifactKey.getArtifactId() + ":" + artifactKey.getVersion();
log.debug("artifact key: {}", shortArtifactKey);
MavenProject mavenProject = currentProject.getMavenProject();
File basedir = mavenProject.getBasedir();
File resourcesDirectory = new File(basedir, "src");
String outputDirectoryPath = mavenProject.getBuild().getDirectory();
File outputDirectory = new File(outputDirectoryPath);
if (INCREMENTAL_BUILD == kind || AUTO_BUILD == kind) {
log.debug("scan resources {}", resourcesDirectory);
Scanner ds = buildContext.newScanner(resourcesDirectory);
ds.scan();
String[] files = ds.getIncludedFiles();
if (files == null || files.length <= 0) {
log.debug("build check: no resource changes");
log.debug("scan deleted resources {}", resourcesDirectory);
ds = buildContext.newDeleteScanner(resourcesDirectory);
ds.scan();
files = ds.getIncludedFiles();
if (files == null || files.length <= 0) {
return null;
} else {
log.debug("build check: resources deleted");
}
} else {
log.debug("build check: resources changed");
}
} else {
log.debug("build check: full build");
}
final Set<IProject> result = super.build(kind, monitor);
IProject project = currentProject.getProject();
project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
// IFolder folder = project.getFolder("target");
// folder.accept(new IResourceVisitor() {
// @Override
// public boolean visit(IResource resource) throws CoreException {
// resource.touch(monitor);
// return true;
// }
// });
if (outputDirectory != null && outputDirectory.exists()) {
log.debug("refresh output directory: {}", outputDirectory);
buildContext.refresh(outputDirectory);
}
return result;
}