Search in sources :

Example 1 with ISysLib

use of com.github.maven_nar.ISysLib in project m2e-nar by maven-nar.

the class NarExecutionBuilder method buildLinkerSettings.

@SuppressWarnings("unchecked")
public NarLinker buildLinkerSettings(final ILinker linker, final boolean linkCpp, final ITest test) throws MojoFailureException, MojoExecutionException {
    NarLinker settings = new NarLinker();
    settings.setName(linker.getName());
    List<NarLib> libs = settings.getLibs();
    for (Iterator<?> it = linker.getLibs().iterator(); it.hasNext(); ) {
        libs.add(buildLibSettings((ILib) it.next()));
    }
    List<NarSysLib> sysLibs = settings.getSysLibs();
    for (Iterator<?> it = linker.getSysLibs().iterator(); it.hasNext(); ) {
        sysLibs.add(buildSysLibSettings((ISysLib) it.next()));
    }
    settings.setIncremental(linker.isIncremental());
    settings.setMap(linker.isMap());
    List<String> options = settings.getOptions();
    options.addAll(linker.getOptions());
    if (test != null) {
        List<String> testOptions = linker.getTestOptions();
        if (testOptions != null) {
            options.addAll(testOptions);
        }
    }
    settings.setLinkCpp(linkCpp);
    return settings;
}
Also used : NarLib(com.github.sdedwards.m2e_nar.internal.model.NarLib) NarSysLib(com.github.sdedwards.m2e_nar.internal.model.NarSysLib) ISysLib(com.github.maven_nar.ISysLib) NarLinker(com.github.sdedwards.m2e_nar.internal.model.NarLinker) ILib(com.github.maven_nar.ILib)

Example 2 with ISysLib

use of com.github.maven_nar.ISysLib in project m2e-nar by maven-nar.

the class NarExecutionBuilder method buildArtifactSettings.

@SuppressWarnings("unchecked")
private NarBuildArtifact buildArtifactSettings(final String type, final String buildType, final boolean linkCPP, final ITest test) throws MojoExecutionException, MojoFailureException {
    NarBuildArtifact settings = new NarBuildArtifact();
    settings.setType(type);
    List<String> projectRefs = settings.getProjectReferences();
    List<com.github.maven_nar.NarArtifact> narArtifacts = narCompileMojo.getNarArtifacts();
    for (com.github.maven_nar.NarArtifact artifact : narArtifacts) {
        if (artifact.getNarLayout() instanceof EclipseNarLayout) {
            EclipseNarLayout layout = (EclipseNarLayout) artifact.getNarLayout();
            projectRefs.add(layout.getProject().getProject().getName());
        }
    }
    settings.setLinkerSettings(buildLinkerSettings(narCompileMojo.getLinker(), linkCPP, test));
    settings.setCppSettings(buildCompilerSettings(narCompileMojo.getCpp(), buildType, test));
    settings.setCSettings(buildCompilerSettings(narCompileMojo.getC(), buildType, test));
    List<String> javahIncludePaths = settings.getJavahIncludePaths();
    javahIncludePaths.addAll(narCompileMojo.getJavahIncludePaths());
    List<String> javaIncludePaths = settings.getJavaIncludePaths();
    javaIncludePaths.addAll(narCompileMojo.getJavaIncludePaths());
    List<File> dependencyIncludePaths = settings.getDependencyIncludePaths();
    logger.debug("include paths size " + narCompileMojo.getDependencyIncludePaths().size());
    dependencyIncludePaths.addAll(narCompileMojo.getDependencyIncludePaths());
    List<NarLib> dependencyLibs = settings.getDependencyLibs();
    logger.debug("library size " + narCompileMojo.getDependencyLibs(type, test).size());
    for (Iterator<?> it = narCompileMojo.getDependencyLibs(type, test).iterator(); it.hasNext(); ) {
        dependencyLibs.add(buildLibSettings((ILib) it.next()));
    }
    List<NarSysLib> dependencySysLibs = settings.getDependencySysLibs();
    for (Iterator<?> it = narCompileMojo.getDependencySysLibs(type).iterator(); it.hasNext(); ) {
        dependencySysLibs.add(buildSysLibSettings((ISysLib) it.next()));
    }
    List<String> dependencyOptions = settings.getDependencyOptions();
    dependencyOptions.addAll(narCompileMojo.getDependencyOptions(type));
    return settings;
}
Also used : NarLib(com.github.sdedwards.m2e_nar.internal.model.NarLib) NarSysLib(com.github.sdedwards.m2e_nar.internal.model.NarSysLib) ISysLib(com.github.maven_nar.ISysLib) NarBuildArtifact(com.github.sdedwards.m2e_nar.internal.model.NarBuildArtifact) EclipseNarLayout(com.github.maven_nar.EclipseNarLayout) File(java.io.File) ILib(com.github.maven_nar.ILib)

Aggregations

ILib (com.github.maven_nar.ILib)2 ISysLib (com.github.maven_nar.ISysLib)2 NarLib (com.github.sdedwards.m2e_nar.internal.model.NarLib)2 NarSysLib (com.github.sdedwards.m2e_nar.internal.model.NarSysLib)2 EclipseNarLayout (com.github.maven_nar.EclipseNarLayout)1 NarBuildArtifact (com.github.sdedwards.m2e_nar.internal.model.NarBuildArtifact)1 NarLinker (com.github.sdedwards.m2e_nar.internal.model.NarLinker)1 File (java.io.File)1