studio proyecto otra manager importar full exportar descargar computadora como comandos abrir java android eclipse bash scripting

otra - Automatice la importación de proyectos de Java(Android) en el área de trabajo de Eclipse a través de la línea de comandos



exportar proyecto android studio a otra pc (1)

Estoy tratando de automatizar la importación de proyectos a un área de trabajo de Eclipse a través de la línea de comandos (usando un script bash). He visto muchas publicaciones que sugieren usar la construcción sin cabeza CDT incluso para proyectos que no son C / C ++, pero quiero evitar tener que descargar CDT ya que todos mis proyectos son todos de Java / Android y quiero ser capaz de automatizar esto para muchas personas. sin tener que hacer que todos descarguen CDT. He intentado lo siguiente con la compilación sin cabeza JDT sin ningún resultado:

eclipse -nosplash / -application org.eclipse.jdt.apt.core.aptBuild / -data [absolute_path_to_desired_workspace] / -import [absolute_path_to_project_directories]

La salida muestra "Building workspace" y luego "logout", pero abrir una sesión de Eclipse en el área de trabajo no muestra nada en el explorador de paquetes.

Mirando el archivo ./metadata/.log en el espacio de trabajo no parece mostrar ningún error con la importación.

¿No es posible automatizar la importación de proyectos existentes de Eclipse de Java en Eclipse sin usar la construcción sin cabeza de CDT?


Desafortunadamente, la distribución de JDT no tiene ninguna aplicación que admita el argumento de importación , como org.eclipse.cdt.managedbuilder.core.headlessbuild de CDT. Pero puedes escribir fácilmente uno simple:

package test.myapp; import java.util.LinkedList; import java.util.List; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProjectDescription; import org.eclipse.core.resources.IncrementalProjectBuilder; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Path; import org.eclipse.equinox.app.IApplication; import org.eclipse.equinox.app.IApplicationContext; public class Application implements IApplication { public Object start(IApplicationContext context) throws Exception { String[] args = (String[]) context.getArguments().get(IApplicationContext.APPLICATION_ARGS); boolean build = false; // Determine projects to import List<String> projects = new LinkedList<String>(); for (int i = 0; i < args.length; ++i) { if ("-import".equals(args[i]) && i + 1 < args.length) { projects.add(args[++i]); } else if ("-build".equals(args[i])) { build = true; } } if (projects.size() == 0) { System.out.println("No projects to import!"); } else { for (String projectPath : projects) { System.out.println("Importing project from: " + projectPath); // Import project description: IProjectDescription description = ResourcesPlugin.getWorkspace().loadProjectDescription( new Path(projectPath).append(".project")); IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(description.getName()); project.create(description, null); project.open(null); } // Build all projects after importing if (build) { System.out.println("Re-building workspace"); ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor()); ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, new NullProgressMonitor()); } } return null; } public void stop() { } }

Su plugin.xml debe contener algo como:

<?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.4"?> <plugin> <extension id="App" point="org.eclipse.core.runtime.applications"> <application cardinality="singleton-global" thread="main" visible="true"> <run class="test.myapp.Application"> </run> </application> </extension> </plugin>

Cree y exporte su complemento como "test.myapp_1.0.0.jar". Entonces puedes usarlo de la siguiente manera:

  1. Copie test.myapp_1.0.0.jar en su carpeta Eclipse / dropins /
  2. Copie todos los complementos necesarios en el directorio del espacio de trabajo de destino:

    proyectos cp -r / * NewWorkspace /

  3. Importar proyectos necesarios en el espacio de trabajo:

    eclipse -nosplash -application test.myapp.App -data NewWorkspace -import / path / to / NewWorkspace / project1 -import / path / to / NewWorkspace / project2 etc ...

  4. Ahora puede eliminar test.myapp_1.0.0.jar de la carpeta Eclipse / dropins / de forma segura.

He cargado todo el código, incluido el complemento exportado aquí: https://github.com/spektom/eclipse-import