/** Set an ant property. */
  private void setProperty(String name, String value) throws BuildException {
    Property property = new Property();

    property.setName(name);
    property.setValue(value);

    property.setProject(getProject());
    property.execute();
  }
Пример #2
0
  private void loadPropertiesFile(Project project, final String fileName) {
    if (project != null && fileName != null) {
      File propertiesFile = new File(getLocation().append(fileName).toPortableString());

      if (propertiesFile.exists()) {
        final Property loadPropetiesTask = new Property();
        loadPropetiesTask.setProject(project);
        loadPropetiesTask.setFile(propertiesFile);
        loadPropetiesTask.execute();
      }
    }
  }
Пример #3
0
  public boolean execute(Project project, long contentLength, InputStream content)
      throws Throwable {
    Ant ant = (Ant) project.createTask("ant");
    File baseDir = project.getBaseDir();
    if (dir != null) baseDir = new File(dir);
    ant.setDir(baseDir);
    ant.setInheritAll(inheritall);
    ant.setInheritRefs(interitrefs);

    if (target != null) ant.setTarget(target);

    if (antFile != null) ant.setAntfile(antFile);

    Enumeration e = properties.elements();
    PropertyContainer pc = null;
    Property p = null;
    while (e.hasMoreElements()) {
      pc = (PropertyContainer) e.nextElement();
      p = ant.createProperty();
      p.setName(pc.getName());
      p.setValue(pc.getValue());
    }

    e = references.elements();
    ReferenceContainer rc = null;
    Ant.Reference ref = null;
    while (e.hasMoreElements()) {
      rc = (ReferenceContainer) e.nextElement();
      ref = new Ant.Reference();
      ref.setRefId(rc.getRefId());
      ref.setToRefid(rc.getToRefId());
      ant.addReference(ref);
    }

    ant.execute();

    return false;
  }
Пример #4
0
  /**
   * Create project.properties file based on $RDECK_BASE/etc/project.properties
   *
   * @param overwrite Overwrite existing properties file
   */
  protected void generateProjectPropertiesFile(final boolean overwrite) {
    Copy copyTask = new Copy();
    Project antProject = new Project();
    antProject.setProperty("project.name", getName());
    Property propTask = new Property();
    propTask.setProject(antProject);
    propTask.setFile(
        new File(
            Constants.getFrameworkProperties(
                getFrameworkProjectMgr().getFramework().getBaseDir().getAbsolutePath())));
    propTask.execute();
    copyTask.setProject(antProject);
    copyTask.setOverwrite(overwrite);
    final File destfile = new File(getEtcDir(), PROP_FILENAME);
    copyTask.setTofile(destfile);
    copyTask.setFile(
        new File(getFrameworkProjectMgr().getFramework().getConfigDir(), PROP_FILENAME));
    copyTask.setFiltering(true);
    copyTask.createFilterChain().add(new ExpandProperties());

    // execute the task
    copyTask.execute();
    getLogger().debug("generated project.properties: " + destfile.getAbsolutePath());
  }
 public void execute() throws BuildException {
   try {
     super.execute();
   } catch (final BuildException be) {
     if (failonerrorProperty == null) {
       throw be;
     }
     final org.apache.tools.ant.taskdefs.Property property =
         (org.apache.tools.ant.taskdefs.Property) getProject().createTask("property");
     property.setOwningTarget(getOwningTarget());
     property.init();
     property.setName(failonerrorProperty);
     property.setValue("true");
     property.execute();
   }
 }
Пример #6
0
  @Override
  public void execute() throws BuildException {
    // JME add - ensure every required parameter is present
    // handle cases where mutual exclusion live..
    // this is the ANT tradition ..
    validate();
    updateClasspath();
    updateBndFiles();

    if (command == null) {
      executeBackwardCompatible();
      return;
    }

    if (basedir == null) throw new BuildException("No basedir set");

    try {
      Project project = Workspace.getProject(basedir);

      Workspace ws = project.getWorkspace();
      for (Property prop : workspaceProps) {
        ws.setProperty(prop.getName(), prop.getValue());
      }

      project.setProperty("in.ant", "true");
      project.setProperty("environment", "ant");
      project.setExceptions(true);
      project.setTrace(trace);
      project.setPedantic(pedantic);

      for (Property prop : properties) {
        project.setProperty(prop.getName(), prop.getValue());
      }

      if (test) project.action(command, test);
      else project.action(command);

      for (Project p : ws.getCurrentProjects()) ws.getInfo(p, p + ":");

      if (report(ws)) throw new BuildException("Command " + command + " failed");
    } catch (Throwable e) {
      if (exceptions) e.printStackTrace();
      throw new BuildException(e);
    }
  }
Пример #7
0
  public Map<String, Object> getBuildProperties(final boolean reload) throws CoreException {
    final Project project = new Project();

    Map<String, Object> sdkProperties = buildPropertiesCache.get(getLocation().toPortableString());

    try {
      if (sdkProperties == null || reload == true) {
        project.setBaseDir(new File(getLocation().toPortableString()));
        project.setSystemProperties();

        final Property envTask = new Property();
        envTask.setProject(project);
        envTask.setEnvironment("env");
        envTask.execute();

        loadPropertiesFile(project, "build." + project.getProperty("user.name") + ".properties");
        loadPropertiesFile(
            project, "build." + project.getProperty("env.COMPUTERNAME") + ".properties");
        loadPropertiesFile(project, "build." + project.getProperty("env.HOST") + ".properties");
        loadPropertiesFile(project, "build." + project.getProperty("env.HOSTNAME") + ".properties");
        loadPropertiesFile(project, "build.properties");

        if (project.getProperty("app.server.type") == null) {
          throw new CoreException(
              SDKCorePlugin.createErrorStatus(
                  "Missing ${app.server.type} setting in build.properties file."));
        }

        final Map<String, String> propertyCopyList = new HashMap<String, String>();
        propertyCopyList.put(
            "app.server." + project.getProperty("app.server.type") + ".dir", "app.server.dir");
        propertyCopyList.put(
            "app.server." + project.getProperty("app.server.type") + ".deploy.dir",
            "app.server.deploy.dir");
        propertyCopyList.put(
            "app.server." + project.getProperty("app.server.type") + ".lib.global.dir",
            "app.server.lib.global.dir");
        propertyCopyList.put(
            "app.server." + project.getProperty("app.server.type") + ".portal.dir",
            "app.server.portal.dir");

        for (String key : propertyCopyList.keySet()) {
          AntPropertyCopy propertyCopyTask = new AntPropertyCopy();
          propertyCopyTask.setOverride(true);
          propertyCopyTask.setProject(project);
          String from = key;
          String to = propertyCopyList.get(from);
          propertyCopyTask.setFrom(from);
          propertyCopyTask.setName(to);
          propertyCopyTask.execute();
        }

        sdkProperties = project.getProperties();

        for (String propertyKey : APP_SERVER_PROPERTIES_KEYS) {
          if (!sdkProperties.keySet().contains(propertyKey)) {
            throw new CoreException(
                SDKCorePlugin.createErrorStatus(
                    "Missing ${" + propertyKey + "} setting in build.properties file."));
          }
        }

        buildPropertiesCache.put(getLocation().toPortableString(), sdkProperties);
      }
    } catch (Exception e) {
      throw new CoreException(SDKCorePlugin.createErrorStatus(e.getMessage()));
    }

    return sdkProperties;
  }