# HG changeset patch # User smith@nwoca.org # Date 1376334589 -3600 # Node ID 9ce07c211984ac0daac740c505628e79f3e7622e # Parent 51e4ee02d47acd3349062f2113c891d0ae0e74e9 for idea: add enabling hg, set default codestyle, set standard copyright notice diff -r 51e4ee02d47a -r 9ce07c211984 init.gradle --- a/init.gradle Fri Jul 05 18:55:37 2013 +0100 +++ b/init.gradle Mon Aug 12 20:09:49 2013 +0100 @@ -68,11 +68,88 @@ apply from: "${gradle.ssdtDevelkitLocation}/metrics.gradle" -task wrapper(type: Wrapper) {} +rootProject.afterEvaluate { r -> -wrapper << { - // patch wrapper path for 1.0-milestone-7 (http://issues.gradle.org/browse/GRADLE-1823) - ant.replace(file: 'gradlew', token: '\\wrapper\\gradle-wrapper.jar',value:'/wrapper/gradle-wrapper.jar') + if (r.plugins.hasPlugin(org.gradle.plugins.ide.idea.IdeaPlugin)) { + + r.idea.project.ipr.withXml { xml -> + if (file('.hg').exists()) { + println 'enabling HG on project' + def vcs = findComponent(xml.asNode(),'VcsDirectoryMappings') + vcs.mapping.@vcs = 'hg4idea' + } + + def codeStyle = findComponent(xml.asNode(),'ProjectCodeStyleSettingsManager') + if (codeStyle) { xml.asNode().remove(codeStyle) } + + def styleManager = xml.asNode().appendNode('component', [name: 'ProjectCodeStyleSettingsManager']) + styleManager.appendNode 'option', [name: 'USE_PER_PROJECT_SETTINGS',value: true] + + def styleOptions = new NodeBuilder().option(name:'PER_PROJECT_SETTINGS') { + value { + GroovyCodeStyleSettings { + option(name: 'CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND', value:'10') + option(name: 'PACKAGES_TO_USE_IMPORT_ON_DEMAND') { + value { + 'package'( name:"java.awt", withSubpackages: false, static: false ) + 'package'( name:"javax.swing", withSubpackages:false, static:false ) + 'package'( name:"javax.persistence", withSubpackages:false, static:false ) + 'package'( name:"javax.validation", withSubpackages: true, static:false ) + } + } + } + XML { + option(name: 'XML_LEGACY_SETTINGS_IMPORTED',value:true) + } + + } + } + + styleManager.append styleOptions + + if (r.group.contains('org.ssdt') ) { + + def copyRight = findComponent(xml.asNode(),'CopyrightManager') + if (copyRight) { xml.asNode().remove(copyRight) } + + copyRight = new NodeBuilder().component(name: 'CopyrightManager', default: 'ODE') { + + copyright { + option (name: 'notice', value:'Copyright (c) $today.year. Ohio Department of Education. - All Rights Reserved.\nUnauthorized copying of this file, in any medium, is strictly prohibited.\nWritten by State Software Development Team (http://ssdt.oecn.k12.oh.us/)' ) + option (name: 'keyword', value: 'Copyright') + option (name: 'allowReplaceKeyword', value: 'South Front' ) + option (name: 'myName', value: 'ODE' ) + option (name: 'myLocal', value: true ) + } + LanguageOptions(name: 'CSS') { + option(name:'fileTypeOverride', value: 1) + } + LanguageOptions(name: 'JSP') { + option(name:'fileTypeOverride', value: 1) + option(name:'prefixLines', value: false) + } + LanguageOptions(name: 'JSPX') { + option(name:'fileTypeOverride', value: 1) + option(name:'prefixLines', value: false) + } + LanguageOptions(name: 'JavaScript') { + option(name:'fileTypeOverride', value: 1) + } + LanguageOptions(name: 'Properties') { + option(name:'fileTypeOverride', value: 1) + } + } + + xml.asNode().append copyRight + + } + } + } + +} + +def findComponent(project, name) { + project.component.find { it.@name == name } } allprojects {