2017-01-24 2 views
0

У меня есть два отдельных проекта, которые я хочу сохранить отдельно. Однако иногда я хочу иметь возможность комбинировать их, вкратце, с составной сборкой. Иногда приятно, если я смогу это сделать какое-то время, не затрагивая других разработчиков. Итак, я хочу что-то вроде этого:включает конфигурационный файл из settings.gradle

Мой главный settings.gradle, который будет возвращен в систему управления версиями, будет выглядеть следующим образом:

// normal stuff 
if (File('extra-settings.gradle).exists()) { 
    // This is what I don't know how to do 
    includeOtherSettingsFile('extra-settings.gradle') 
} 

Затем экстра-settings.gradle, который не проверяется в систему управления версиями, может выглядеть следующим образом:

includeBuild('../anxml') { 
    dependencySubstitution { 
     substitute module('com.analyticspot.ml:framework') with project(':framework') 
    } 
} 

Таким образом, я мог бы добавить экстра-settings.gradle файл, чтобы сделать временный композитный сборки. Держите его таким образом для нескольких коммитов, не затрагивая других программистов, или беспокоитесь о том, что я случайно передал свои временные изменения в settings.gradle, а затем, когда закончите, я просто удалю его.

Я знаю о Prezi Pride и кажется большим, но не будет работать для нашей текущей версии (мы используем buildSrc, ROOTDIR и т.д.)

это может быть сделано?

+0

Встречается мне, что я мог сделать 'экстра-settings.gradle' .yml файл и проанализировать его здесь и преобразовать в команды градиента и т. д., и это будет работать, но гораздо больше работы, а не гибкости. Надеюсь на чистое решение. –

ответ

1

settings.gradle выполняется против Settings экземпляра, который имеет apply(Map) метод так, я предполагаю, что вы можете сделать:

// use Settings.getRootDir() so that it doesn't matter which directory you are executing from 
File extraSettings = new File(rootDir, 'extra-settings.gradle') 
if (extraSettings.exists()) { 
    apply from: extraSettings 
} 
+0

Спасибо. Имейте некоторые ошибки, которые нуждаются в исправлении, но попробуете это в ближайшие несколько дней и сообщите об этом. –

+0

Работает как шарм. Гораздо проще, чем я ожидал. –

Смежные вопросы