2

我正在读这个:

http://www.gradle.org/docs/current/userguide/artifact_management.html

了解如何将我的工件发布/上传到网络驱动器/文件共享,这是一个要求(我们有一个 maven repo 启动并运行,但一些工件需要转储到文件共享上)。我发现的示例更侧重于部署到存储库、maven、ivy 等。

我有一个简单的 eclipse java 项目,我使用 gradle 1.2 和以下 build.gradle 文件构建:

apply plugin: 'java' 

sourceSets {
  main {
    java {
      srcDir 'src'
    }
  }
  test {
    java {
      srcDir 'test'
    }
  }
}
repositories {
  flatDir {
      name "fileRepo"
      dirs "file://internal.newtwork.drive/folder/test"
  }
}

uploadArchives {
  repositories {
      add project.repositories.fileRepo
  }
}

我可以在 gradle 文档中的哪个位置阅读有关如何将资源复制到远程文件共享的信息?

我已尝试根据以下答案更新协议和 dir 属性,但出现此错误:

  • 出了什么问题:任务“:uploadArchives”执行失败。

    无法发布配置 ':archives'。java.io.FileNotFoundException:/internal.newtwork.drive/folder/test/sample-gradle-java-unspecified.jar(没有这样的文件或目录)

目的地是正确的,所以 flatDir 存储库不支持网络驱动器吗?

4

4 回答 4

1

您应该定义以下参数:

archivesBaseName = 'yourappname'
group = 'your.app.package'
version = '1.0.0'
于 2013-07-06T19:50:43.057 回答
0

您的 URL 未提及方案(http:、file: 等)。我不知道您是否可以使用 file: URL,或者您是否需要使用不同的语法来指定目录而不是 HTTP URL,但无论哪种方式,您都需要正确地形成 URI Windows UNC 路径。

有关更多详细信息,请参阅此问题

于 2012-10-04T13:01:21.543 回答
0

看起来你正在越线。该 url 只是您显然没有使用的常春藤存储库声明的一部分。文件系统存储库将由 flatDir 块处理,然后由add project.repositories.fileRepo语句引用。我建议尝试 flatDirdir变量中的完整路径,否则阻力最小的路径可能只是将一个简单的手动文件复制(或其他传输)任务放在一起,然后将其添加到您正在使用的主要部署任务中.

于 2012-10-04T13:34:59.920 回答
0

//尝试这个,

apply plugin: 'java'
apply plugin: 'maven'

repositories {
    maven {
        url "$archivaUrl"`enter code here`
    credentials {
            username = "$userName"
            password = "$passWord"
        }
    }
}

// Dependencies
dependencies { 
    // specify the lib files at compile and run time         
    compile fileTree(dir: 'lib', include: ['**/*.jar','*.jar'])
    runtime fileTree(dir: 'lib', include: ['**/*.jar','*.jar'])
}


// source path 
sourceSets {
    main {
        java {
        srcDirs 'src'
        }

    }
}

uploadArchives {
    repositories {
    mavenDeployer {
        repository(url: "$archivaUrl") {
        authentication(userName: "$userName", password: "$passWord")
        }
        pom.version = "1.0-SNAPSHOT"
        pom.artifactId = "fd-common"
        pom.groupId = "com.somename.common"
    }    

    }
}
于 2015-05-04T11:15:26.323 回答