前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SAP Hybris Commerce installer目录下的build.gradle

SAP Hybris Commerce installer目录下的build.gradle

作者头像
Jerry Wang
发布2020-07-06 23:46:39
3480
发布2020-07-06 23:46:39
举报

文件位置:

代码语言:javascript
复制
project.ext.installerHome = project.projectDir
project.ext.installerWorkDir = Paths.get(project.installerHome as String, 'work').toAbsolutePath().toString()
project.ext.customConfigDir = Paths.get(project.installerHome as String, 'customconfig').toAbsolutePath().toString()
project.ext.suiteHome = getSuiteHome()

上面的代码获得customconfig和work文件夹的绝对路径:

getSuiteHome:获得整个Hybris目录路径,比如C:\Code\hybris670

给每个subproject添加libs文件夹内的.jar依赖:

代码语言:javascript
复制
project.subprojects.each { subProject ->
    subProject.buildscript.dependencies {
        delegate.classpath(fileTree(dir: "${rootProject.projectDir}/libs", include: '*.jar'))
    }
}

将标准和错误输出记录到logs文件夹下面的日志文件去:

printRecipeDescription: 打印recipes文件夹下的子文件夹比如b2b_acc内的readme.txt的内容:

代码语言:javascript
复制
subprojects {
    afterEvaluate { subProject ->
        def setupTask = createTaskInSubProject subProject, 'setup', 'Setups platform (writes configuration into local.properties, localextensions.xml)'
        def buildSystemTask = createTaskInSubProject subProject, 'buildSystem', 'Builds platform'
        def initializeTask = createTaskInSubProject subProject, 'initialize', 'Initializes platform fully'
        def initializeJunitTask = createTaskInSubProject subProject, 'initializeJunit', 'Initializes platform JUnitTenant'
        def startTask = createTaskInSubProject subProject, 'start', 'Starts platform interactively'
        def startInBackgroundTask = createTaskInSubProject subProject, 'startInBackground', 'Starts platform in background'
        def stopInBackgroundTask = createTaskInSubProject subProject, 'stopInBackground', 'Stops platform in background'
        def testJunitTask = createTaskInSubProject subProject, 'testJunit', 'Runs JUnit tests'
        def testInitializeTask = createTaskInSubProject subProject, 'testInitialize', 'Runs initialization tests'
        def testServerTask = createTaskInSubProject subProject, 'testServer', 'Runs JUnit tests'
        def createImageStructureTask = createTaskInSubProject subProject, 'createImagesStructure', 'Creates images structure'

        def buildDockerImagesTask = createTaskInSubProject subProject, 'buildImages', 'Builds docker images'
        buildDockerImagesTask.dependsOn = [createImageStructureTask]

        def pushDockerImagesTask = createTaskInSubProject subProject, 'pushImages', 'Pushes docker images'
        pushDockerImagesTask.dependsOn = [buildDockerImagesTask]

        buildSystemTask.mustRunAfter setupTask
        initializeTask.mustRunAfter buildSystemTask
        initializeJunitTask.mustRunAfter buildSystemTask
        startTask.mustRunAfter initializeTask
        startInBackgroundTask.mustRunAfter initializeTask
        stopInBackgroundTask.mustRunAfter testServerTask

        testJunitTask.mustRunAfter initializeJunitTask
        testInitializeTask.mustRunAfter initializeTask
        testServerTask.mustRunAfter startInBackgroundTask

        def performTask = createTaskInSubProject subProject, 'perform', 'Performs setup, build, initialize and start - in this order'
        performTask.dependsOn = [setupTask, buildSystemTask, initializeTask, startTask]

        def performTestJunitTask = createTaskInSubProject subProject, 'performTestJunit', 'Performs setup, buildSystem, initializeJunit, testJunit - in this order'
        performTestJunitTask.dependsOn = [setupTask, buildSystemTask, initializeJunitTask, testJunitTask]

        def performTestInitializeTask = createTaskInSubProject subProject, 'performTestInitialize', 'Performs setup, buildSystem, initialize, testInitialize - in this order'
        performTestInitializeTask.dependsOn = [setupTask, buildSystemTask, initializeTask, testInitializeTask]

        def performTestServerTask = createTaskInSubProject subProject, 'performTestServer', 'Performs setup, buildSystem, initialize, startInBackground, testServer - in this order'
        performTestServerTask.dependsOn = [setupTask, buildSystemTask, initializeTask, startInBackgroundTask, testServerTask, stopInBackgroundTask]
    }
}

创建各种task并设置依赖关系:

代码语言:javascript
复制
subprojects {
    afterEvaluate { subProject ->
        def setupTask = createTaskInSubProject subProject, 'setup', 'Setups platform (writes configuration into local.properties, localextensions.xml)'
        def buildSystemTask = createTaskInSubProject subProject, 'buildSystem', 'Builds platform'
        def initializeTask = createTaskInSubProject subProject, 'initialize', 'Initializes platform fully'
        def initializeJunitTask = createTaskInSubProject subProject, 'initializeJunit', 'Initializes platform JUnitTenant'
        def startTask = createTaskInSubProject subProject, 'start', 'Starts platform interactively'
        def startInBackgroundTask = createTaskInSubProject subProject, 'startInBackground', 'Starts platform in background'
        def stopInBackgroundTask = createTaskInSubProject subProject, 'stopInBackground', 'Stops platform in background'
        def testJunitTask = createTaskInSubProject subProject, 'testJunit', 'Runs JUnit tests'
        def testInitializeTask = createTaskInSubProject subProject, 'testInitialize', 'Runs initialization tests'
        def testServerTask = createTaskInSubProject subProject, 'testServer', 'Runs JUnit tests'
        def createImageStructureTask = createTaskInSubProject subProject, 'createImagesStructure', 'Creates images structure'

        def buildDockerImagesTask = createTaskInSubProject subProject, 'buildImages', 'Builds docker images'
        buildDockerImagesTask.dependsOn = [createImageStructureTask]

        def pushDockerImagesTask = createTaskInSubProject subProject, 'pushImages', 'Pushes docker images'
        pushDockerImagesTask.dependsOn = [buildDockerImagesTask]

        buildSystemTask.mustRunAfter setupTask
        initializeTask.mustRunAfter buildSystemTask
        initializeJunitTask.mustRunAfter buildSystemTask
        startTask.mustRunAfter initializeTask
        startInBackgroundTask.mustRunAfter initializeTask
        stopInBackgroundTask.mustRunAfter testServerTask

        testJunitTask.mustRunAfter initializeJunitTask
        testInitializeTask.mustRunAfter initializeTask
        testServerTask.mustRunAfter startInBackgroundTask

        def performTask = createTaskInSubProject subProject, 'perform', 'Performs setup, build, initialize and start - in this order'
        performTask.dependsOn = [setupTask, buildSystemTask, initializeTask, startTask]

        def performTestJunitTask = createTaskInSubProject subProject, 'performTestJunit', 'Performs setup, buildSystem, initializeJunit, testJunit - in this order'
        performTestJunitTask.dependsOn = [setupTask, buildSystemTask, initializeJunitTask, testJunitTask]

        def performTestInitializeTask = createTaskInSubProject subProject, 'performTestInitialize', 'Performs setup, buildSystem, initialize, testInitialize - in this order'
        performTestInitializeTask.dependsOn = [setupTask, buildSystemTask, initializeTask, testInitializeTask]

        def performTestServerTask = createTaskInSubProject subProject, 'performTestServer', 'Performs setup, buildSystem, initialize, startInBackground, testServer - in this order'
        performTestServerTask.dependsOn = [setupTask, buildSystemTask, initializeTask, startInBackgroundTask, testServerTask, stopInBackgroundTask]
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档