|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.nbbuild; import org.apache.tools.ant.*; import org.apache.tools.ant.types.*; import java.util.StringTokenizer; import java.io.File; import java.util.Iterator; /** * @author Michal Zlamal */ public class SetClusterPatternSet extends Task { PatternSet pattern = null; private String property = null; private String clusterName = null; private File trackingPath = null; private String clusterDir = null; public void setCluster( String cluster ){ clusterName = cluster; } public void setName( String name ) { property = name; } public void setTrackingPath( File path ) { trackingPath = path; } public void setClusterDir( String dir ) { clusterDir = dir; } public void execute() throws BuildException { if (clusterName == null) throw new BuildException("Cluster property must be set",location); if (property == null) throw new BuildException("Name of the patternset must be set.",location); if (trackingPath == null) throw new BuildException("Path to module_tracking.xml file must be set.",location); if (clusterDir == null) throw new BuildException("Cluster directory must be set.",location); String clusterList = this.getProject().getProperty(clusterName); if (clusterList == null) throw new BuildException("Cluster " + clusterName + " doesn't exist",location); pattern = (PatternSet) this.getProject().createDataType("patternset"); ModuleTracking tracking = new ModuleTracking(trackingPath.getAbsolutePath()); StringTokenizer moduleTokens = new StringTokenizer(clusterList, " \t\n\f\r,"); while (moduleTokens.hasMoreTokens()) { String module = moduleTokens.nextToken(); Iterator files = tracking.getFilesForModule(module); if (files==null) { log("This module doesn't have module tracking info: " + module, Project.MSG_INFO); continue; } while (files.hasNext()) pattern.createInclude().setName(clusterDir + File.separator + (String)files.next()); } if (pattern.getIncludePatterns(this.getProject()) == null) pattern.createExclude().setName("**"); this.getProject().addReference(property, pattern); } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.