Skip to content

Commit 545a87a

Browse files
ipa-rwuipa-nhg
authored andcommitted
Move listOfRepos to DeploymentHelpers, fix naming in rosinstall
1 parent 50b87d1 commit 545a87a

3 files changed

Lines changed: 69 additions & 89 deletions

File tree

plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentHelpers.xtend

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,21 @@
11
package de.fraunhofer.ipa.rossystem.deployment
2-
import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers
32

3+
import componentInterface.ComponentInterface
4+
import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers
5+
import java.util.ArrayList
6+
import java.util.HashSet
7+
import java.util.List
8+
import java.util.Set
9+
import ros.Dependency
10+
import ros.PackageDependency
11+
import ros.impl.PackageImpl
12+
import rossystem.ComponentStack
13+
import rossystem.RosSystem
414

515
class DeploymentHelpers extends GeneratorHelpers {
16+
List<ComponentInterface> ComponentsList
17+
PackageImpl component_package
18+
Set<String> Repos
619

720
def get_uniqe_name(String prefix, String ros_distro) {
821
return prefix + "_" + ros_distro
@@ -16,4 +29,33 @@ class DeploymentHelpers extends GeneratorHelpers {
1629
return prefix
1730
}
1831
}
32+
33+
def Set<String> listOfRepos(Object subsystem) {
34+
new ArrayList()
35+
ComponentsList = new ArrayList<ComponentInterface>();
36+
if (subsystem.class.toString.contains("RosSystemImpl")){
37+
ComponentsList = (subsystem as RosSystem).rosComponent
38+
} else if (subsystem.class.toString.contains("ComponentStackImpl")) {
39+
ComponentsList = (subsystem as ComponentStack).rosComponent
40+
}
41+
42+
Repos = new HashSet<String>();
43+
for (ComponentInterface component: ComponentsList){
44+
component_package = null;
45+
component_package = get_pkg(component);
46+
if (component_package !== null){
47+
if (component_package.fromGitRepo !== null){
48+
Repos.add(component_package.fromGitRepo);
49+
}
50+
if (!component_package.dependency.empty){
51+
for (Dependency depend: component_package.dependency){
52+
if ((depend as PackageDependency).package !== null){
53+
if ((depend as PackageDependency).package.fromGitRepo !== null){
54+
Repos.add((depend as PackageDependency).package.fromGitRepo);
55+
}
56+
}
57+
}
58+
}}}
59+
return Repos;
60+
}
1961
}
Lines changed: 26 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,42 @@
11
package de.fraunhofer.ipa.rossystem.deployment
22

3-
import rossystem.RosSystem
4-
import java.util.List
5-
import componentInterface.ComponentInterface
6-
import ros.impl.PackageImpl
7-
import ros.Dependency
8-
import ros.PackageDependency
9-
import java.util.ArrayList
10-
import java.util.Set
11-
import java.util.HashSet
123
import rossystem.ComponentStack
13-
import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers
4+
import rossystem.RosSystem
5+
import de.fraunhofer.ipa.rossystem.deployment.DeploymentHelpers
146

157
class RosInstallCompiler {
16-
17-
PackageImpl component_package;
18-
Set<String> Repos;
19-
List<CharSequence> PkgsList
20-
List<ComponentInterface> ComponentsList
21-
GeneratorHelpers generator_helper = new GeneratorHelpers()
8+
DeploymentHelpers generator_helper = new DeploymentHelpers()
9+
val repo_info = newLinkedHashMap('local_name' -> null, 'branch' -> null, 'uri' -> null)
2210

23-
def create_repo_link (String repo)'''
24-
«IF repo.indexOf(":", repo.indexOf(":") + 1) > 1»
25-
- git: {local-name: «repo.substring(0,repo.lastIndexOf(':')).substring(repo.lastIndexOf("/") + 1).replace(".git","")», uri: «repo.substring(0,repo.lastIndexOf(':'))», version: «repo.substring(repo.lastIndexOf(':') + 1)»}
26-
«ELSE»
27-
- git: {local-name: «repo.substring(repo.lastIndexOf("/") + 1).replace(".git","")», uri: «repo»}
28-
«ENDIF»
11+
def get_repo_info(String repo){
12+
repo_info.put('branch', null)
13+
repo_info.put('local_name', null)
14+
repo_info.put('uri', null)
15+
if(repo.indexOf(":", repo.indexOf(":") + 1) > 1) {
16+
repo_info.put('branch', repo.substring(repo.lastIndexOf(':')+ 1))
17+
val uri = repo.substring(0,repo.lastIndexOf(':'))
18+
repo_info.put('uri', uri)
19+
repo_info.put('local_name', uri.substring(uri.lastIndexOf("/") + 1).replace(".git",""))
20+
}
21+
else {
22+
repo_info.put('branch', null)
23+
repo_info.put('uri', repo)
24+
repo_info.put('local_name', repo.substring(repo.lastIndexOf("/") + 1).replace(".git",""))
25+
}
26+
}
27+
28+
def create_repo_link (String repo)
29+
'''«get_repo_info(repo
30+
- git: {local-name: «repo_info.get('local_name')», uri: «repo_info.get('uri')»«IF repo_info.get('branch')!==null», version: «repo_info.get('branch')»«ENDIF»}
2931
'''
3032
3133
def compile_toRosInstall (RosSystem system,ComponentStack stack) '''«generator_helper.init_pkg()»
32-
«IF stack===null»«FOR repo:system.listOfRepos»
34+
«IF stack===null»«FOR repo: generator_helper.listOfRepos(system)»
3335
«create_repo_link(repo)»
3436
«ENDFOR»
35-
«ELSE»«FOR repo:stack.listOfRepos»
37+
«ELSE»«FOR repo: generator_helper.listOfRepos(stack)»
3638
«create_repo_link(repo)»
3739
«ENDFOR»
3840
«ENDIF»
3941
'''
40-
41-
def Set<String> listOfRepos(Object subsystem) {
42-
PkgsList = new ArrayList()
43-
ComponentsList = new ArrayList<ComponentInterface>();
44-
if (subsystem.class.toString.contains("RosSystemImpl")){
45-
ComponentsList = (subsystem as RosSystem).rosComponent
46-
} else if (subsystem.class.toString.contains("ComponentStackImpl")) {
47-
ComponentsList = (subsystem as ComponentStack).rosComponent
48-
}
49-
50-
51-
Repos = new HashSet<String>();
52-
for (ComponentInterface component: ComponentsList){
53-
component_package = null;
54-
component_package = generator_helper.get_pkg(component);
55-
if (component_package !== null){
56-
if (component_package.fromGitRepo !== null){
57-
Repos.add(component_package.fromGitRepo);
58-
}
59-
if (!component_package.dependency.empty){
60-
for (Dependency depend: component_package.dependency){
61-
if ((depend as PackageDependency).package !== null){
62-
if ((depend as PackageDependency).package.fromGitRepo !== null){
63-
Repos.add((depend as PackageDependency).package.fromGitRepo);
64-
}
65-
}
66-
}
67-
}}}
68-
return Repos;
69-
}
70-
7142
}

plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ class GeneratorHelpers {
2828
List<CharSequence> PkgsList
2929
String Pkg
3030
List<ComponentInterface> ComponentsList
31-
PackageImpl component_package
32-
Set<String> Repos
3331

3432
def void init_pkg(){
3533
PackageSet=false
@@ -122,37 +120,6 @@ class GeneratorHelpers {
122120
package_impl = node.eContainer.eContainer as PackageImpl;
123121
return package_impl;
124122
}
125-
126-
127-
def Set<String> listOfRepos(Object subsystem) {
128-
PkgsList = new ArrayList()
129-
ComponentsList = new ArrayList<ComponentInterface>();
130-
if (subsystem.class.toString.contains("RosSystemImpl")){
131-
ComponentsList = (subsystem as RosSystem).rosComponent
132-
} else if (subsystem.class.toString.contains("ComponentStackImpl")) {
133-
ComponentsList = (subsystem as ComponentStack).rosComponent
134-
}
135-
136-
137-
Repos = new HashSet<String>();
138-
for (ComponentInterface component: ComponentsList){
139-
component_package = null;
140-
component_package = get_pkg(component);
141-
if (component_package !== null){
142-
if (component_package.fromGitRepo !== null){
143-
Repos.add(component_package.fromGitRepo);
144-
}
145-
if (!component_package.dependency.empty){
146-
for (Dependency depend: component_package.dependency){
147-
if ((depend as PackageDependency).package !== null){
148-
if ((depend as PackageDependency).package.fromGitRepo !== null){
149-
Repos.add((depend as PackageDependency).package.fromGitRepo);
150-
}
151-
}
152-
}
153-
}}}
154-
return Repos;
155-
}
156123

157124
//Launch files generators
158125
def check_ns(ComponentInterface component){

0 commit comments

Comments
 (0)