问题标签 [subproject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
159 浏览

c++ - Qmake:如何导出子项目 INCLDUEPATHS 或如何正确包含项目作为依赖项?

问题:我有子目录模板 qmake 项目。实际上是两个。他们是无关的。我打算将第二个子目录项目(或更类似于该项目的某些子目录)包含在第一个子目录中并开始使用它。

例如,让第一个项目由A1, B1, C1子项目(带有 的子目录A|B|C1.pro)和第二个A2, B2, C2. 我想将 B2 和 C2 包含到我的第一个项目中,所以它变成这样: A1, B1, C1, B2, C2 所以我可以开始使用 B2 提供的依赖于 C2 的类和接口。

我希望尽可能减少对第二个项目的干扰。我遇到的问题是我试图通过将 B2 和 C2 .pro 文件添加到第一个项目子目录模板来做到这一点,它无法构建它,因为 B2 中的某些类可能包含在其中而编译器不能了解在哪里可以找到它。

我找不到一个简单(或只是“正确”)的方法来做我想做的事 - 开始尽可能干净和同步友好地使用第二个项目代码,而无需将我需要的所有内容复制粘贴到第一个项目中。

0 投票
0 回答
391 浏览

c++ - Gradle C++ 原生构建:如何在多项目构建中覆盖顶级属性

我需要构建一个包含多个 C++ 项目的大型源代码树。我想要一个顶级构建文件,它定义构建约定,例如常见的包含目录和编译器/链接器标志,然后能够覆盖或添加到子项目级别的约定。

我能够添加到编译器/链接器标志如下:

顶级构建文件:

子项目构建文件:

但是,我无法应用相同的原则来添加额外的包含目录(要添加到编译器参数中)。我在子项目构建文件中尝试了这个:

但它不会添加额外的目录。我在这里做错了什么?

0 投票
5 回答
78417 浏览

android - Gradle 找不到参数的方法 compile()

我有一个 hello world 全屏 android studio 1.5.1 应用程序,我添加了一个 gradle/eclipse-mars 子项目。除了将 include ':javalib' 添加到 settings.gradle 之外,没有修改其他文件。添加项目库依赖项

到根构建构建文件并从命令行运行 gradle,得到:

  • 其中:构建文件 'D:\AndroidStudioProjects\AndroidMain\build.gradle' 行:23

  • 出了什么问题:评估根项目“AndroidMain”时出现问题。

    在 org.grad le.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@46 3ca82f 上找不到参数 [project ':javalib'] 的方法 compile()。

将 java 插件添加到根构建文件没有帮助。

我不认为它在错误的地方

根项目和添加的子项目都有 gradle 包装器。

任何指针将不胜感激。

谢谢

编辑:为澄清起见,根构建文件是:

应用程序构建文件是:

编辑:本练习的全部目的是将核心 java 代码放入 android 项目中。目前核心代码是一个独立的 gradle/eclispe 项目。我在 android 项目中有一批执行 gradle -p Standaloneprojectdir/ jar 并将 jar 复制到 libs/ 中。

我只是除了发布 jar 并从存储库中获取它之外还有一种更简单的方法,因为这一切都在我的电脑上完成。

让所有代码生效并进行构建会很好:(

编辑:根据RaGe的建议,这里是一个处女 android studio 项目和一个处女 gradle/eclipse 项目。没有对这些文件进行任何编辑。如果您选择接受它,您的任务是让 android 应用程序轻松访问 java 项目类(即 new Library(); 在 MainActivity.onCreate() 中将编译和运行)。我不在乎 java 项目在哪里。理想情况下,两个来源都将存在于两个 ide 中。

尝试这样做也失败了。说: > 找不到:virginjavaproject,但目录确实存在。

编辑:真正起作用的是 RaGe 对原始 android 项目的拉取请求。

0 投票
1 回答
3031 浏览

java - 如何解析未知类并且无法解析Android Studio java库模块中的符号

使用 Android Studio 并创建一个 java 库模块作为子项目的一部分,我在以下 java 语句中收到错误:

它抱怨无法解析符号“writeTo”和未知类“System.out”。

这是源代码类的要点

0 投票
0 回答
811 浏览

gradle - 设置带有子项目的自定义 gradle 项目

我是新手。我想设置一个具有以下属性的多模块项目环境:

  1. 主项目称为“webapp”,它有两个子项目“webapp-client”和“webapp-server”,其中客户端是基于 javascript 的项目,服务器是 RESTFull 堆栈。
  2. 'webapp-client' 和'webapp-server' 应该是独立的项目,即可以像没有'webapp' 超级项目一样开发它们。'webapp-client' 在内部使用 Node.js、Bower 和 Grunt,但我尝试将它们集成为 gradle 任务。
  3. “webapp-client”将其输出构建到项目的“dist”文件夹中。'webapp-server' 创建一个部署到 JFrog Artifactory 的 war 文件。
  4. 还有另一个由“webapp”项目创建的工件。它将“webapp-client”和“webapp-server”的输出组合到一个单一的war文件中。它也被部署到 Artifactory(参见war.dependsOnwebapp:build.gradle 文件中的部分)
  5. 每个项目都在单独的 Git 存储库下进行版本控制(这就是project(':webapp-server').projectDir = new File('../webapp-server')在 webapp:settings.gradle 中定义类似代码的原因)
  6. 我尝试将所有变量重构为 gradle.properties 文件

我做了以下结构:

项目结构

以下是这些文件的来源: webapp: build.gradle:

网络应用程序:settings.gradle:

网络应用程序:gradle.properties:

webapp-client: build.gradle:

webapp-客户端:gradle.properties:

网络应用服务器:build.gradle:

webapp-服务器:gradle.properties:

webapp-server, webapp-client: settings.grade:

正如我所说,我是 gralde 的新手,真的不知道这项工作做得有多好。我不知道 gradle.properties 是否是放置变量的好地方。发布到工件中也会遇到问题。运行gradle artifactoryPublish --info结果:

似乎在尝试将 webapp 工件推送到存储库时,一些变量用于“webapp-client”子项目!

0 投票
0 回答
566 浏览

scala - SBT:如何在子项目的 build.sbt 文件中定义子项目的依赖关系?

以下 build.sbt 文件有效,但它定义了所有子项目的依赖关系:

由于每个子项目(目录 lib/a、lib/b、lib/c、myapp)都有自己的 build.sbt 文件,我想使用这些构建文件来定义每个项目的单独依赖项。

我试图将dependsOn/aggregate语句移动到子项目的构建文件中,但我无法让它以这种方式工作。推荐的方法是什么?

0 投票
1 回答
186 浏览

java - 遗留项目结构:intellij 将 gradle 子项目识别为模块,但不识别其源代码

抱歉标题太长了。

我正在尝试将我们的功能测试代码与我们的集成测试代码隔离开来,并使用 gradle 任务让它工作。它也有 95% 在 intellij 中工作,除了每次我做一个“gradle idea”时,我都必须添加功能测试代码。

目前不能将其分离到自己的存储库或更改目录结构。

目录结构看起来像

并且我希望 intellij 自动检测functionalTest 测试源代码属于functional-gradle,即使它看起来应该是MainProject 的一部分(但不包含在任何MainProject build.gradle sourceSets 中)。

其他注意事项:我希望它是一个 gradle 子项目,而不是作为不同源集的主要 build.gradle 的一部分,因为我们当前的构建过程不是很标准,从一个干净的 gradle slate 开始会很好隔离功能任务所需的 gradle 任务(有很多)。这将使最终拉出到自己的存储库中变得更容易。

下图显示了我想要自动填充的 intellij 字段:子项目模块的测试源文件夹。

智能子项目

gradle sutff 的重要部分

0 投票
1 回答
517 浏览

gradle - gradle 子项目任务项目目录

我在这样的多项目中有一个子项目任务

项目本身编译得很好,但是当我从父项目编译项目时, ${rootProject.projectDir} 被解析为父项目路径。我得到错误。当我从父项目编译项目时,我希望将 rootProject.projectDir 解析到子项目目录。

提前致谢

0 投票
0 回答
250 浏览

xcode - Xcode:在工作空间内的项目之间共享源文件

案子:

  • 有一个使用 CocoaPods 的主项目。
  • 我已经开始了一个补充项目,该项目的源代码打算在主项目中重复使用。
  • 补充项目已作为 git submolude 添加到主项目的存储库中。
  • 补充项目也使用了 CocoaPods。

问题:我无法让主项目实际重用源代码或构建补充项目的产品。

我尝试过但没有奏效:

  1. 将补充项目的源代码组织为静态库,然后链接到主项目。这不起作用,因为补充项目正在使用 CocoaPods。这种方法的问题在于 CocoaPods 也构建为静态库,而补充项目的静态库根本无法编译,因为静态库无法链接到另一个静态库

  2. 将补充项目作为子项目添加到主项目(将 *.xcodeproj 文件拖放到源中)。这个想法是使补充项目的源文件对主项目可见,我可以将它们添加到主项目的构建目标中。事实证明,Xcode 子项目无法看到包含子项目的项目的构建目标。

  3. 将补充项目的源文件直接添加到主项目中。这确实有效,但是添加到补充项目中的任何新文件也必须手动添加到主项目中,显然我将此视为最后的解决方案。

0 投票
1 回答
279 浏览

configuration - SBT:如何覆盖默认来源(和/或资源等)?

我一直在阅读和重新阅读文档,到处都是说默认情况下sbt 使用项目基础目录和 src/main/scala 来查找 scala 源,但我找不到任何关于该默认值如何被改变。

我已经看到对“排除”过滤器的模糊引用,但我需要的是相反的。

我想将一个大型 scala 项目的一个子集编译成一个较小的独立工件。有没有办法告诉 sbt 我希望它包含哪些文件?例如“**/util/*.scala”之类的东西?