相当于SBT中的Maven配置文件

时间:2017-03-09 08:14:18

标签: maven sbt lwjgl

我有一个pom.xml,其中定义了一些配置文件,用于检查正在运行的操作系统,并根据操作系统更改变量。在SBT中是否存在相当于这种行为?

The pom.xml I'm looking at (it's the LWJGL one)

1 个答案:

答案 0 :(得分:1)

一般情况下你应该改变主意。在SBT中,您对所有库使用普通scala。

<profiles>
    <profile>
        <id>lwjgl-natives-linux></id>
        <activation>
            <os><family>unix</family></os>
        </activation>
        <properties>
            <lwjgl.natives>natives-linux</lwjgl.natives>
        </properties>
    </profile>
    <profile>
        <id>lwjgl-natives-macos></id>
        <activation>
            <os><family>mac</family></os>
        </activation>
        <properties>
            <lwjgl.natives>natives-macos</lwjgl.natives>
        </properties>
    </profile>
    <profile>
        <id>lwjgl-natives-windows></id>
        <activation>
            <os><family>windows</family></os>
        </activation>
        <properties>
            <lwjgl.natives>natives-windows</lwjgl.natives>
        </properties>
    </profile>
</profiles>

根据您的示例,定义变量。 (见How do I programmatically determine operating system in Java?):

val lwjglNatives = sys.props("os.name").toLowerCase match {
    case os if os.contains("uni") =>
            "natives-linux"
    case os if os.contains("mac") | os.contains("darwin") =>
       "natives-macos"
    case os if os.contains("win") =>
       "natives-windows"    
}

然后您可以根据操作系统使用lwjglNatives