Le concept de source set du gradle

Partager

le Gradle a introduit un nouveau concept pour le construction des projets basé sur les sources appelé Source set.C’est dire que que vous pourrez définir dans un projet plusieurs source contenant les fichiers de code source et de ressources puis construire votre projet pour chaque source.

Vous pouvez créer par exemple une source pour la version de production de notre application contenant les fichiers de code source et les ressources de votre application,et créer une source pour les testes de votre application contentant les fichiers de teste de votre application.

Cette construction de projet basé sur les source vous donne plus de possibilité et vous permet d’avoir des projet facilement maintenable.Les source set permet de regrouper les fichier de code source dans un type de groupe logique tel que les les codes source de la version de production de votre application,les codes sources de teste unitaire de votre application etc.

ce concept de source set vous permet par exemple d’exécuter certaines taches du gradle qui seront appliquées a un source set spécifique.

Table des matières

Définir un source set

Dans Android Studio,les sources set sont définis dans le fichier gradle(app) de votre application.Par exemple voici comment on pourrait définir le source set main

sourceSets{
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src/commonFiles/java']
        resources.srcDirs = ['src/commonFiles/java']
        aidl.srcDirs = ['src/commonFiles/java']
        renderscript.srcDirs = ['src/commonFiles/java']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }
  
}

Les source set créé par defaut

Par défaut dès que vous créez un nouveau projet,le gradle créé les sources set tel que : main , androidTeste et test pour contenir respectivement les codes sources de la version de production de notre application,des teste instrumentés et les testes unitaires.

le Main source set

Le source set main est automatiquement créé lorsque vous créez un nouveau projet dans Android Studio.Il contient les codes source et fichier de ressource de la version de production de votre application.Tous les source set dans votre projet partage les codes source du source set main, vous pouvez ensuite ajouter les code source spécifique à chaque source set dans chaque source set .

Créer un nouveau source set

Comme je l’ai déjà dit précédemment,dès que vous créez un nouveau projet,certains source set son créez par défaut. Vous pouvez créez par exemple des source set pour une version gratuit et payante de votre application.Les source set sont aussi des modules dans votre projet.

Pour créer un nouveau source set, il vous suffit de créer de nouveau buildType ou des productFlavors dans votre projet puis de reconstruire le projet pour générer automatiquement les différents source set à partir des buidType,productFllavors et de la combinaison des buildType et des productFlavors.Par défaut vous n’avez pas besoin de créez un répertoire pour les différentes source set de votre projet.

Tous les source set de votre projet partage les fichier source contenu dans le source set principale :main.

Seulement si vous souhaitez ajouter du code source qui sera uniquement disponible dans un source set spécifique, vous devez créer le répertoire correspondant du source set puis déclarer ce source set dans le fichier gradle(app) de votre application.

Créer un nouveau repertoire dans un sources set existant

Comme je l’ai déjà dis précédemment, certains sources set sont créés par défaut dès que vous créez un nouveau projet.Vous pouvez ajouter d’autres répertoires de code source ou de ressource dans un source set déjà existant. Cela est utile dès que votre projet commence avoir beaucoup de fichier et vous souhaitez les repartir dans plusieurs répertoire pour avoir plus de clarté.

Par defaut Dans le source set main, tous les codes source de Java et Kotlin doivent être enregistré dans le repertoire ‘src/main/java’.Supposons que nous souhaitez placer vos fichier de code source kotlin dans un autre répertoire nommé kotlin pour avoir plus de clarté.Pour ce faire, vous devez

  • Créé un nouveau répertoire dans le répertoire main de votre projet
  • Puis allez déclarer ce répertoire dans le source set main dans le fichier gradle(app) de vous application.

Créer le répertoire

Par défaut Android studio affiche l’arborescence des fichier de votre projet dans la vue Android. Pour ajouter un nouveau répertoire dans un source set,vous devez afficher l’arborescence des fichiers dans la vue projet.

Si vous ne savez pas comment créer un projet avec Android Studio, lisez cet article

Pour cela dans la panel à gauche de la fenêtre principale d’Android studio sélectionnez projet.Voir l’image suivant

Puis cliquez sur app, src,puis sur main.Faite un cliquez droit de la souris sur le répertoire main, puis survoler sur new puis cliquez sur Directory.

Une boite de dialogue s’affiche pour définir le nom du répertoire.

Pour notre exemple saisissez kotlin.Puis cliquez sur Ok

Le repertoire kotlin est automatiquement ajouté sous le repertoire main.Voir l’image

Déclarer le répertoire dans le source set

Nous allons à présent ajouter ce répertoire dans le source set main.Pour cela dans la panel gauche de la fenêtre principale d’Android Studio,affichez de nouveau la vue Android.

Double cliquez sur le fichier gradle (app) de votre application puis Ajouter le code suivant dans le bloc android.Voir l’image


Partager

Laisser un commentaire

Résoudre : *
28 + 26 =


%d