标签: dependencies

自动依赖生成

我正在阅读make 手册中的自动依赖项生成,但我不明白为什么需要此功能。我正在开发并从头开始编写的项目的结构如下:

  • 每个单元(图书馆)都有自己的文件夹
  • 每个 .cpp 文件应包含同一目录中具有相同名称的单个 .h 文件。好的,这个规则可能有点过于严格,就像在循环依赖的情况下一样,在这种情况下我可能会包含另一个 .h 文件,就像下一个规则中所描述的那样
  • 在 .h 文件中包含其他标头时,如果依赖项位于另一个单元(库)中,请始终使用相对于项目根目录的路径。否则,只需包含文件名。

在 makefile 中,我传递-I .给编译器。当它在目录X中遇到.cpp文件时,它会在同一目录(或目录中)中搜索.h文件.。当解析 .h 文件时,它会遇到相对于该.文件夹的包含,因此它会知道在哪里查找它们。

现在,如果代码可以像我上面描述的那样构造,为什么有人想要生成带有该标志的依赖项列表-M并使用 sed 来生成一个晦涩的 .d 文件(依赖项 fie)?我不认为从代码文件生成特定的依赖项列表有什么意义。

c++ dependencies gcc makefile compilation

0
推荐指数
1
解决办法
809
查看次数

如何减少docker镜像安装依赖所需的时间?

我有一些节点 docker-containers,它们基本上看起来像:

# core nodejs just installs node and git on archlinux
FROM core/nodejs

# clones directory into current working dir
RUN git clone https://github.com/bodokaiser/nearby .

# installs all dependencies
RUN npm install

# lets node execute the source code
CMD ["node", "index.js"]
Run Code Online (Sandbox Code Playgroud)

当我现在重建映像以收集新更新时,它会从 npm 下载所有依赖项。这总是需要大约 5 分钟。

我现在想知道如何避免重新安装所有依赖项。

到目前为止,我的一个想法是使用VOLUME然后与主机共享代码存储库,这会使在其他主机上使用该图像变得困难。

更新: 我的另一个想法是创建一个包含 git repo 并与运行时容器共享的卷容器。但是,repo 容器必须能够以某种方式重建另一个容器?

deployment dependencies build docker

0
推荐指数
1
解决办法
1130
查看次数

在 Gradle for Jenkins 中使用条件依赖的最佳方式

信息:在 Windows 7 上使用 Gradle 2.14 构建 JAVA 多项目。

当我在我的机器上构建时,我想在我的机器上使用库/子项目。当 Jenkins 构建项目时,他将使用我的 repo 中的库/子项目。

所以我做了一个“JenkinsTask”,它只存在于我的 IF 语句中。这已经几乎按照我想要的方式工作了。这里是我的根项目 gradle 脚本中的代码:

task JenkinsTask() {
//doing nothing
}

def ProjectB_Version //defined on command line

gradle.taskGraph.whenReady {taskGraph ->
if (taskGraph.hasTask(JenkinsTask)) {
    println "Archiva dependency"
            dependencies {
            compile group: 'Lib_ProjectB', name: 'ProjectB', version: ProjectB_Version
    }
} 
else {
    println "Filesystem dependency"
            dependencies {
            compile fileTree(dir: 'ProjectB\\build\\libs', includes: ['*.jar'])
    }       
}
}
compileJava.dependsOn ":ProjectB:build"
Run Code Online (Sandbox Code Playgroud)

在我的机器上,我只是运行 gradle build -PProjectB_Version=0.5

在詹金斯我跑 gradle :build jenkinstask -x :ProjectB:build -PProjectB_Version=0.5

现在的问题是是否有一种“gradle”方式来做到这一点?所以我不需要 …

java dependencies gradle jenkins

0
推荐指数
1
解决办法
4837
查看次数

WPF 依赖属性更改更新控件

我目前正在尝试在依赖项值更改时更新视图。

我已将代码从视图复制到其父级中,并且没有使用依赖项,并且工作正常。我相信我的问题在于如何创建 DependencyProperty。

public partial class CULabelConfigControl : UserControl {

    private CreditUnion CU { get; set; }

    public static readonly DependencyProperty CUProperty = DependencyProperty.Register(
        "CU",
        typeof(CreditUnion),
        typeof(CULabelConfigControl),
        new FrameworkPropertyMetadata(null)
    );
Run Code Online (Sandbox Code Playgroud)

我目前在运行时收到错误:

"A 'Binding' cannot be set on the 'CU' property of type 'CULabelConfigControl'. 
 A 'Binding' can only be set on a DependencyProperty of a DependencyObject."
Run Code Online (Sandbox Code Playgroud)

任何方向正确的点都会有所帮助。如果我需要分享任何其他细节,请告诉我。

c# wpf dependencies dependency-properties

0
推荐指数
1
解决办法
3130
查看次数

从 Gradle 中的依赖项中排除项目

我想排除一些未使用的依赖项以减少应用程序的大小。以下是我的模块中的依赖项:

    +--- project :ProjectOne
|    +--- commons-io:commons-io:2.4
|    \--- project :ProjectTwo
|         +--- com.project:PackJPG:1.5
|         +--- com.project:xz:1.2
|         +--- org.ocpsoft.prettytime:prettytime:2.1.2.Final
|         +--- joda-time:joda-time:2.1
|         +--- project :ProjectThree
|         |    +--- project :Utilities
|         |    +--- project :ProcessPriority
|         |    |    +--- com.nativelibs4java:bridj:0.6.2
|         |    |    |    \--- com.google.android.tools:dx:1.7
|         |    |    +--- net.java.dev.jna:jna:4.1.0
|         |    |    +--- net.java.dev.jna:jna-platform:4.1.0
|         |    |    |    \--- net.java.dev.jna:jna:4.1.0
|         |    |    +--- org.tinylog:slf4j-binding:1.2
|         |    |    |    +--- org.tinylog:tinylog:1.2
|         |    |    |    \--- …
Run Code Online (Sandbox Code Playgroud)

dependencies android android-studio android-gradle-plugin

0
推荐指数
1
解决办法
3860
查看次数

与用户定义条件的 Ansible 依赖关系

我想在我的剧本依赖项中添加一个角色,但要基于条件。

- name: Get all install pyenv versions
  command: '{{ pyenv_root }}bin/pyenv versions'
  register: available_versions
  tags:
      - get_pyenv_versions
  environment:
      PYENV_ROOT: "{{ pyenv_root }}"

dependencies:
    - { role: pyenv, python_versions: ["{{ mypython_version }}"], when: "mypython_version not in available_versions.stdout" }
Run Code Online (Sandbox Code Playgroud)

我想做的是,我想检查所有可用pyenv版本,如果mypython_version不可用,那么只有我想调用pyenv角色,否则我不想调用它。

它给了我语法错误

ERROR! Syntax Error while loading YAML.


The error appears to have been in '/root/ansible_playbooks/roles/mydeployment/meta/main.yaml': line 9, column 1, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line …
Run Code Online (Sandbox Code Playgroud)

meta dependencies ansible

0
推荐指数
1
解决办法
6289
查看次数

木偶依赖管理

假设我有一个安装packages(profile::base::tools)的类和另一个定义profile::base::yum这些包所需的yumrepos()的类.

tools.pp:

class profile::base::tools {
   $packages = [
      'package1',
      'package2'
   ]

   package { $packages:
     ensure => present,
   }
}
Run Code Online (Sandbox Code Playgroud)

目前它的运行方式是通过base.pp:

base.pp:

include profile::base::yum 
include profile::base::tools

Class['profile::base::yum'] -> [
    Class['profile::base::tools']]     
Run Code Online (Sandbox Code Playgroud)

所以当我运行base.pp它时首先创建yum repos然后安装包.目前,tools.pp首先要求yumrepos定义的依赖关系仅在提及中提及base.pp.

我的问题是,如果我tools.pp单独运行(出于测试目的),它不会知道依赖性,因此会失败.我可以添加include profile::base::yumtools.pp类,但想知道如果为每个类标准的了解的依赖,即使它已经在别处定义的(像base.pp)

standards dependencies puppet

0
推荐指数
1
解决办法
83
查看次数

重复查找器maven插件:1.2.1:检查->添加Hibernate依赖项后发现重复的类/资源

添加以下 Hibernate Core 依赖项后尝试构建我的 Maven 项目会导致以下警告和错误 (1)

 [INFO] Checking test classpath
    [WARNING] Found duplicate and different classes in [javax.annotation:javax.annotation-api:1.2, javax.annotation:jsr250-api:1.0]:
    [WARNING]   javax.annotation.Generated
    [WARNING]   javax.annotation.PostConstruct
    [WARNING]   javax.annotation.PreDestroy
    [WARNING]   javax.annotation.Resource
    [WARNING]   javax.annotation.Resources
    [WARNING]   javax.annotation.security.DeclareRoles
    [WARNING]   javax.annotation.security.DenyAll
    [WARNING]   javax.annotation.security.PermitAll
    [WARNING]   javax.annotation.security.RolesAllowed
    [WARNING]   javax.annotation.security.RunAs

    [ERROR] Failed to execute goal org.basepom.maven:duplicate-finder-maven-plugin:1.2.1:check (default) on project school.server: Found duplicate classes/resources! -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.basepom.maven:duplicate-finder-maven-plugin:1.2.1:check (default) on project school.server: Found duplicate classes/resources!
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    at …
Run Code Online (Sandbox Code Playgroud)

java dependencies hibernate duplicates maven

0
推荐指数
1
解决办法
6685
查看次数

#include包含的头文件已包含的头文件是否普遍可行?

假设我们有一个头文件A.h,它依赖于B.h和中声明的内容C.hB.h也取决于C.h,因此也包括在内。在这种情况下,我们不需要包含C.h进去A.h,没有它就可以编译。

但是我想知道在这些情况下最好的行动方案是什么。如果B.h以某种方式更改并且不再依赖C.hA.h则会中断。

另一方面,如果我认为到最后,重新包含所有单个依赖关系似乎是不必要/不切实际的。

我常见的情况是标准库。在几乎所有的头文件中,我都必须包含<stdint.h><stdbool.h>。我经常跳过它,因为它们已经包含在其中一个依赖项中,但这总是感觉有些武断。

c c++ dependencies include dependency-management

0
推荐指数
1
解决办法
104
查看次数

如何更改 maven 依赖项中的源代码?

我有一个带有一堆依赖项的 maven 项目,其中一个我想将一行打印到控制台以调用pulsar-log4j2-appender. 我尝试通过在 Intellij 中打开有问题的 .class 文件:

External Libraries | Maven: org.apache.pulsar:pulsar-log4j2-appender:2.6.0 | pulsar-log4j2-appender-2.6.0.jar | org.apache.pulsar.log4j2.appender | PulsarManager.class
Run Code Online (Sandbox Code Playgroud)

当我尝试添加 System.out.println 语句时,Intellij 说该文件是只读的:

在此处输入图片说明

java dependencies intellij-idea maven

0
推荐指数
1
解决办法
324
查看次数