[DEV] update basic code
This commit is contained in:
parent
9be04fb7d7
commit
2b36761fa5
10
.classpath
10
.classpath
@ -45,10 +45,20 @@
|
|||||||
<attribute name="module" value="true"/>
|
<attribute name="module" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
|
<classpathentry kind="lib" path="lib/org.eclipse.jgit.ssh.apache-5.12.0.202106070339-r.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="module" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5">
|
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="test" value="true"/>
|
<attribute name="test" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
|
<classpathentry kind="lib" path="lib/sshd-core-2.7.0.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/sshd-sftp-2.7.0.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/eddsa-0.3.0.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/sshd-common-2.7.0.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/sshd-osgi-2.7.0.jar"/>
|
||||||
<classpathentry kind="output" path="out/eclipse/classes"/>
|
<classpathentry kind="output" path="out/eclipse/classes"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
@ -14,4 +14,6 @@ open module org.atriasoft.island {
|
|||||||
requires org.atriasoft.exml;
|
requires org.atriasoft.exml;
|
||||||
requires org.atriasoft.etk;
|
requires org.atriasoft.etk;
|
||||||
requires org.eclipse.jgit;
|
requires org.eclipse.jgit;
|
||||||
|
requires org.eclipse.jgit.ssh.apache;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ import java.util.Map.Entry;
|
|||||||
|
|
||||||
import org.atriasoft.exml.Exml;
|
import org.atriasoft.exml.Exml;
|
||||||
import org.atriasoft.exml.exception.ExmlBuilderException;
|
import org.atriasoft.exml.exception.ExmlBuilderException;
|
||||||
|
import org.atriasoft.exml.exception.ExmlException;
|
||||||
import org.atriasoft.exml.exception.ExmlParserErrorMulti;
|
import org.atriasoft.exml.exception.ExmlParserErrorMulti;
|
||||||
import org.atriasoft.island.internal.Log;
|
import org.atriasoft.island.internal.Log;
|
||||||
import org.atriasoft.island.model.Link;
|
import org.atriasoft.island.model.Link;
|
||||||
@ -88,12 +89,24 @@ public class Manifest {
|
|||||||
this.rootManifest = rootDirectory.getFileName().toString();
|
this.rootManifest = rootDirectory.getFileName().toString();
|
||||||
rootDirectory = rootDirectory.getParent();
|
rootDirectory = rootDirectory.getParent();
|
||||||
|
|
||||||
ManifestFile parsedElements = Exml.parseOne(this.manifestXml, ManifestFile.class, "manifest");
|
ManifestFile parsedElements = null;
|
||||||
|
try {
|
||||||
|
parsedElements = Exml.parseOne(this.manifestXml, ManifestFile.class, "manifest");
|
||||||
|
} catch (ExmlException e1) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e1.printStackTrace();
|
||||||
|
}
|
||||||
parsedElements.setFileRealPath(this.manifestXml);
|
parsedElements.setFileRealPath(this.manifestXml);
|
||||||
this.manifests.put(this.rootManifest, parsedElements);
|
this.manifests.put(this.rootManifest, parsedElements);
|
||||||
for (String includeElem : parsedElements.getIncludes()) {
|
for (String includeElem : parsedElements.getIncludes()) {
|
||||||
Path maniPath = rootDirectory.resolve(includeElem);
|
Path maniPath = rootDirectory.resolve(includeElem);
|
||||||
ManifestFile tmpManifest = Exml.parseOne(maniPath, ManifestFile.class, "manifest");
|
ManifestFile tmpManifest = null;
|
||||||
|
try {
|
||||||
|
tmpManifest = Exml.parseOne(maniPath, ManifestFile.class, "manifest");
|
||||||
|
} catch (ExmlException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
tmpManifest.setFileRealPath(maniPath);
|
tmpManifest.setFileRealPath(maniPath);
|
||||||
this.manifests.put(includeElem, tmpManifest);
|
this.manifests.put(includeElem, tmpManifest);
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,10 @@ import org.atriasoft.island.model.ConfigManifest;
|
|||||||
import org.atriasoft.island.model.ProjectConfig;
|
import org.atriasoft.island.model.ProjectConfig;
|
||||||
|
|
||||||
import org.eclipse.jgit.api.Git;
|
import org.eclipse.jgit.api.Git;
|
||||||
|
import org.eclipse.jgit.transport.SshSessionFactory;
|
||||||
|
import org.eclipse.jgit.transport.sshd.DefaultProxyDataFactory;
|
||||||
|
import org.eclipse.jgit.transport.sshd.JGitKeyCache;
|
||||||
|
import org.eclipse.jgit.transport.sshd.SshdSessionFactory;
|
||||||
|
|
||||||
public class IslandActionInit extends ActionInterface {
|
public class IslandActionInit extends ActionInterface {
|
||||||
|
|
||||||
@ -80,6 +84,12 @@ public class IslandActionInit extends ActionInterface {
|
|||||||
|
|
||||||
Tools.createDirectory(Env.get_island_path_manifest());
|
Tools.createDirectory(Env.get_island_path_manifest());
|
||||||
Log.info("Clone the manifest");
|
Log.info("Clone the manifest");
|
||||||
|
// init session on apache ssh:
|
||||||
|
SshdSessionFactory factory = new SshdSessionFactory(new JGitKeyCache(), new DefaultProxyDataFactory());
|
||||||
|
Log.error("iiii " + factory.getSshDirectory());
|
||||||
|
Runtime.getRuntime().addShutdownHook(new Thread(factory::close));
|
||||||
|
SshSessionFactory.setInstance(factory);
|
||||||
|
|
||||||
Git git = Git.cloneRepository()
|
Git git = Git.cloneRepository()
|
||||||
.setURI( address_manifest )
|
.setURI( address_manifest )
|
||||||
.setDirectory( Env.get_island_path_manifest().toFile() )
|
.setDirectory( Env.get_island_path_manifest().toFile() )
|
||||||
|
@ -9,6 +9,7 @@ import org.atriasoft.exml.Exml;
|
|||||||
import org.atriasoft.exml.annotation.XmlList;
|
import org.atriasoft.exml.annotation.XmlList;
|
||||||
import org.atriasoft.exml.annotation.XmlName;
|
import org.atriasoft.exml.annotation.XmlName;
|
||||||
import org.atriasoft.exml.exception.ExmlBuilderException;
|
import org.atriasoft.exml.exception.ExmlBuilderException;
|
||||||
|
import org.atriasoft.exml.exception.ExmlException;
|
||||||
import org.atriasoft.island.Env;
|
import org.atriasoft.island.Env;
|
||||||
import org.atriasoft.island.internal.Log;
|
import org.atriasoft.island.internal.Log;
|
||||||
public class ConfigManifest {
|
public class ConfigManifest {
|
||||||
@ -92,6 +93,9 @@ public class ConfigManifest {
|
|||||||
} catch (ExmlBuilderException e) {
|
} catch (ExmlBuilderException e) {
|
||||||
Log.error("Can not parse the file.1. " + path);
|
Log.error("Can not parse the file.1. " + path);
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} catch (ExmlException e) {
|
||||||
|
Log.error("Can not parse the file.1. " + path);
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
if (root.length != 1) {
|
if (root.length != 1) {
|
||||||
Log.error("Can not parse the file.2. " + path);
|
Log.error("Can not parse the file.2. " + path);
|
||||||
@ -108,7 +112,12 @@ public class ConfigManifest {
|
|||||||
}
|
}
|
||||||
public void store(final Path path) throws ExmlBuilderException {
|
public void store(final Path path) throws ExmlBuilderException {
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
|
try {
|
||||||
Exml.generate(this, "config-island", builder);
|
Exml.generate(this, "config-island", builder);
|
||||||
|
} catch (ExmlException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
Log.warning("data generated: " + builder.toString());
|
Log.warning("data generated: " + builder.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user