2016-02-09 2 views
1

я столкнулся вопрос выполняющегося моей задачи типа Copy,:Задача типа копирования не выполняется

Пропустив задачу, поскольку это не имеет исходных файлов

я получу, если я бег в режим отладки.

Моего Plugin.groovy класс (где вызов к задаче плагина в сделал)

Task task = project.tasks.create("makeJarPlugin", MakeJarPluginTask.class) 
task.dependsOn("clearDistPlugin", "build") 

Моих MakeJarPluginTask.grrovy

class MakeJarPluginTask extends Copy { 
    @TaskAction 
    def makeJar(){ 
     logger.lifecycle("creating a jar *********************") 
     delete('dist/') 
     from('build/intermediates/bundles/release') 
     into('dist/') 
     include('classes.jar') 
     def jarName = new VersionName().getNameWithVersion() + '.jar' 
     rename('classes.jar', jarName) 
    } 
} 

Теперь я выполнить эту задачу в моем андроида студийного проекта с использованием

gradlew makeJarPlugin --info 

Он дает мне выход:

Skipping task ':network:makeJar1' as it has no source files. 
makeJar1 UP-TO-DATE 

Что-то не так с типом Copy так же, как и я выполняю мою задачу удаления, и она выполняется. Любые указатели!

ответ

0

Кажется, что this ответ может быть полезным.

Подсказка: вам нужно настроить задачу. В противном случае он не будет выполнен, так как вся конфигурация выполняется в makeJar, что слишком поздно, так как это действие.

Вместо копирования вы также можете попробовать:

class MakeJarPluginTask extends DefaultTask { 
    @TaskAction 
    def makeJar() { 
    logger.lifecycle("creating a jar *********************") 
     delete('dist/') 
     project.copy {  

     from('build/intermediates/bundles/release') 
     into('dist/') 
     include('classes.jar') 
     def jarName = new VersionName().getNameWithVersion() + '.jar' 
     rename('classes.jar', jarName) 
     } 
    } 
} 
Смежные вопросы