/** * Execute the specified sequence of targets, and the targets * they depend on. * * @param names A vector of target name strings to execute. * Must not be <code>null</code>. * * @exception BuildException if the build failed. */ public void executeTargets(final Vector<String> names) throws BuildException { setUserProperty(MagicNames.PROJECT_INVOKED_TARGETS, names.stream().collect(Collectors.joining(","))); getExecutor().executeTargets(this, names.toArray(new String[names.size()])); }