Package com.intellij.execution.configurations

Examples of com.intellij.execution.configurations.ParametersList


    public MavenJavaParameters(final VirtualFile pPomFile,
                               final ProjectJdk pJvm,
                               final String... pGoals) throws MavenHomeUndefinedException {

        final ParametersList vmArgs = getVMParametersList();
        final ParametersList params = getProgramParametersList();
        final MavenManager mavenMgr = MavenManager.getInstance();

        //
        //make sure the user has set the Maven home location
        //
        final VirtualFile mavenHome = mavenMgr.getMavenHome();
        if (mavenHome == null || !mavenHome.isValid() || !FileUtils.exists(mavenHome))
            throw new MavenHomeUndefinedException();

        //
        //important locations for the command line
        //
        final VirtualFile foreheadConf = mavenHome.findFileByRelativePath(FOREHEAD_CONF_FILE);
        final VirtualFile jdkHome = pJvm.getHomeDirectory();
        VirtualFile javaEndorsed = jdkHome.findFileByRelativePath(JRE_ENDORSED_DIR_NAME);
        if (javaEndorsed == null)
            javaEndorsed = jdkHome.findFileByRelativePath(JDK_ENDORSED_DIR_NAME);

        final VirtualFile mavenEndorsed = mavenHome.findFileByRelativePath(MAVEN_ENDORSED_DIR_NAME);
        final VirtualFile foreheadJar = mavenHome.findFileByRelativePath(FOREHEAD_JAR_FILE);

        final StringBuilder endorsedBuf = new StringBuilder();
        if (javaEndorsed != null) {
            endorsedBuf.append(FileUtils.getAbsolutePath(javaEndorsed));
            endorsedBuf.append(File.pathSeparatorChar);
        }
        if (mavenEndorsed != null)
            endorsedBuf.append(FileUtils.getAbsolutePath(mavenEndorsed));
        final String endorsedDirs = endorsedBuf.toString();

        //
        //setup commandline
        //
        final VirtualFile dir = pPomFile.getParent();
        if (dir == null)
            throw new IllegalArgumentException("POM file has no directory.");
        setWorkingDirectory(FileUtils.getAbsolutePath(dir));
        setJdk(pJvm);
        setMainClass(FOREHEAD_MAIN_CLASS);

        //maven-related JVM arguments
        vmArgs.defineProperty("maven.home", FileUtils.getAbsolutePath(mavenHome));
        vmArgs.defineProperty("tools.jar", pJvm.getToolsPath());
        vmArgs.defineProperty("forehead.conf.file", FileUtils.getAbsolutePath(foreheadConf));
        if (endorsedDirs != null && endorsedDirs.trim().length() > 0)
            vmArgs.defineProperty("java.endorsed.dirs", endorsedDirs);

        //user specified JVM arguments
        final String mavenOptions = mavenMgr.getMavenOptions();
        if (mavenOptions != null && mavenOptions.trim().length() > 0)
            vmArgs.add(mavenOptions);

        //only forehead is needed in the classpath
        getClassPath().add(FileUtils.getAbsolutePath(foreheadJar));

        //set offline mode, if needed
        if (mavenMgr.isOffline())
            params.add("-o");

        //suppress banner
        params.add("-b");
        params.add("-p", pPomFile.getName());

        //
        //specify the goals to execute
        //
        for (final String goal : pGoals)
            params.add(goal);
    }
View Full Code Here


  /**
   * See <a href="http://felix.apache.org/site/apache-felix-framework-configuration-properties.html">Felix Configuration Properties</a>.
   */
  @Override
  protected void setupParameters(@NotNull JavaParameters parameters) {
    ParametersList vmParameters = parameters.getVMParametersList();

    // bundles and start levels

    MultiMap<Integer, String> startBundles = new MultiMap<Integer, String>();
    List<String> installBundles = ContainerUtil.newSmartList();

    for (SelectedBundle bundle : myBundles) {
      String bundlePath = bundle.getBundlePath();
      if (bundlePath == null) continue;
      boolean isFragment = CachingBundleInfoProvider.isFragmentBundle(bundlePath);

      String bundleUrl = toFileUri(bundlePath);
      if (bundle.isStartAfterInstallation() && !isFragment) {
        int startLevel = getBundleStartLevel(bundle);
        startBundles.putValue(startLevel, bundleUrl);
      }
      else {
        installBundles.add(bundleUrl);
      }
    }

    for (Integer startLevel : startBundles.keySet()) {
      vmParameters.addProperty("felix.auto.start." + startLevel, StringUtil.join(startBundles.get(startLevel), " "));
    }
    if (!installBundles.isEmpty()) {
      vmParameters.addProperty("felix.auto.install.1", StringUtil.join(installBundles, " "));
    }

    int startLevel = getFrameworkStartLevel();
    vmParameters.addProperty("org.osgi.framework.startlevel.beginning", String.valueOf(startLevel));

    int defaultStartLevel = myRunConfiguration.getDefaultStartLevel();
    vmParameters.addProperty("felix.startlevel.bundle", String.valueOf(defaultStartLevel));

    // framework-specific options

    vmParameters.addProperty("org.osgi.framework.storage.clean", "onFirstInit");

    if (GenericRunProperties.isDebugMode(myAdditionalProperties)) {
      vmParameters.addProperty("felix.log.level", "4");
    }

    parameters.setMainClass(MAIN_CLASS);
  }
View Full Code Here

  /**
   * See <a href="http://www.knopflerfish.org/releases/current/docs/running.html">Running Knopflerfish</a>.
   */
  @Override
  protected void setupParameters(@NotNull JavaParameters parameters) {
    ParametersList vmParameters = parameters.getVMParametersList();
    ParametersList programParameters = parameters.getProgramParametersList();

    // framework-specific options

    vmParameters.addProperty("org.knopflerfish.framework.debug.errors", "true");
    if (GenericRunProperties.isDebugMode(myAdditionalProperties)) {
      // todo: more detailed settings in the dialog (?)
      vmParameters.addProperty("org.knopflerfish.verbosity", "10");
      vmParameters.addProperty("org.knopflerfish.framework.debug.startlevel", "true");
      vmParameters.addProperty("org.knopflerfish.framework.debug.classloader", "true");
    }

    parameters.setMainClass(MAIN_CLASS);

    programParameters.add("-init");
    programParameters.add("-launch");

    // bundles and start levels

    MultiMap<Integer, String> startBundles = new MultiMap<Integer, String>();
    List<String> installBundles = ContainerUtil.newSmartList();

    for (SelectedBundle bundle : myBundles) {
      String bundlePath = bundle.getBundlePath();
      if (bundlePath == null) continue;
      boolean isFragment = CachingBundleInfoProvider.isFragmentBundle(bundlePath);

      if (bundle.isStartAfterInstallation() && !isFragment) {
        int startLevel = getBundleStartLevel(bundle);
        startBundles.putValue(startLevel, bundlePath);
      }
      else {
        installBundles.add(bundlePath);
      }
    }

    if (!installBundles.isEmpty()) {
      int defaultStartLevel = myRunConfiguration.getDefaultStartLevel();
      programParameters.addAll("-initlevel", String.valueOf(defaultStartLevel));
      for (String bundle : installBundles) {
        programParameters.addAll("-install", bundle);
      }
    }

    for (Integer startLevel : startBundles.keySet()) {
      programParameters.addAll("-initlevel", String.valueOf(startLevel));
      for (String bundle : startBundles.get(startLevel)) {
        programParameters.addAll("-install", bundle);
      }
    }

    int frameworkStartLevel = getFrameworkStartLevel();
    programParameters.addAll("-startlevel", String.valueOf(frameworkStartLevel));

    for (Integer startLevel : startBundles.keySet()) {
      for (String bundle : startBundles.get(startLevel)) {
        programParameters.addAll("-start", bundle);
      }
    }
  }
View Full Code Here

  /**
   * See <a href="http://concierge.sourceforge.net/properties.html">Concierge Startup Properties</a>.
   */
  @Override
  protected void setupParameters(@NotNull JavaParameters parameters) {
    ParametersList vmParameters = parameters.getVMParametersList();

    // bundles and start levels

    MultiMap<Integer, String> startBundles = new MultiMap<Integer, String>();
    List<String> installBundles = ContainerUtil.newSmartList();

    for (SelectedBundle bundle : myBundles) {
      String bundlePath = bundle.getBundlePath();
      if (bundlePath == null) continue;
      boolean isFragment = CachingBundleInfoProvider.isFragmentBundle(bundlePath);

      String bundleUrl = toFileUri(bundlePath);
      if (bundle.isStartAfterInstallation() && !isFragment) {
        int startLevel = getBundleStartLevel(bundle);
        startBundles.putValue(startLevel, bundleUrl);
      }
      else {
        installBundles.add(bundleUrl);
      }
    }

    for (Integer startLevel : startBundles.keySet()) {
      vmParameters.addProperty("osgi.auto.start." + startLevel, StringUtil.join(startBundles.get(startLevel), " "));
    }
    if (!installBundles.isEmpty()) {
      vmParameters.addProperty("osgi.auto.install", StringUtil.join(installBundles, " "));
    }

    int startLevel = getFrameworkStartLevel();
    vmParameters.addProperty("osgi.startlevel.framework", String.valueOf(startLevel));

    int defaultStartLevel = myRunConfiguration.getDefaultStartLevel();
    vmParameters.addProperty("osgi.startlevel.bundle", String.valueOf(defaultStartLevel));

    // framework-specific options

    vmParameters.addProperty("osgi.init", "true");

    if (GenericRunProperties.isDebugMode(myAdditionalProperties)) {
      vmParameters.addProperty("ch.ethz.iks.concierge.debug", "true");
    }

    parameters.setMainClass(MAIN_CLASS);
  }
View Full Code Here

  /**
   * See <a href="http://help.eclipse.org/juno/topic/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html">Eclipse runtime options</a>.
   */
  @Override
  protected void setupParameters(@NotNull JavaParameters parameters) {
    ParametersList vmParameters = parameters.getVMParametersList();

    // bundles and start levels

    List<String> bundles = ContainerUtil.newArrayList();

    for (SelectedBundle bundle : myBundles) {
      String bundlePath = bundle.getBundlePath();
      if (bundlePath == null) continue;
      boolean isFragment = CachingBundleInfoProvider.isFragmentBundle(bundlePath);
      String bundleUrl = toFileUri(bundlePath);

      if (!isFragment) {
        int startLevel = getBundleStartLevel(bundle);
        bundleUrl += "@" + startLevel;
        if (bundle.isStartAfterInstallation()) {
          bundleUrl += ":start";
        }
      }

      bundles.add(bundleUrl);
    }

    if (!bundles.isEmpty()) {
      vmParameters.addProperty("osgi.bundles", StringUtil.join(bundles, ","));
    }

    int startLevel = getFrameworkStartLevel();
    vmParameters.addProperty("osgi.startLevel", String.valueOf(startLevel));

    int defaultStartLevel = myRunConfiguration.getDefaultStartLevel();
    vmParameters.addProperty("osgi.bundles.defaultStartLevel", String.valueOf(defaultStartLevel));

    // framework-specific options

    if (GenericRunProperties.isStartConsole(myAdditionalProperties)) {
      vmParameters.addProperty("osgi.console");
      vmParameters.addProperty("osgi.console.enable.builtin", "true");
    }

    vmParameters.addProperty("osgi.clean", "true");

    if (GenericRunProperties.isDebugMode(myAdditionalProperties)) {
      vmParameters.addProperty("osgi.debug");
      vmParameters.addProperty("eclipse.consoleLog", "true");
    }

    String product = EquinoxRunProperties.getEquinoxProduct(myAdditionalProperties);
    String application = EquinoxRunProperties.getEquinoxApplication(myAdditionalProperties);
    if (!StringUtil.isEmptyOrSpaces(product)) {
      vmParameters.defineProperty("eclipse.product", product);
      vmParameters.defineProperty("eclipse.ignoreApp", "false");
    }
    else if (!StringUtil.isEmptyOrSpaces(application)) {
      vmParameters.defineProperty("eclipse.application", application);
      vmParameters.defineProperty("eclipse.ignoreApp", "false");
    }
    else {
      vmParameters.defineProperty("eclipse.ignoreApp", "true");
    }

    parameters.setMainClass(MAIN_CLASS);
  }
View Full Code Here

TOP

Related Classes of com.intellij.execution.configurations.ParametersList

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.