@@ -11,44 +11,54 @@ import {
1111import { intro , RockError } from '@rock-js/tools' ;
1212
1313const getAarConfig = (
14- args : PackageAarFlags ,
14+ moduleName : string | undefined ,
1515 androidConfig : AndroidProjectConfig ,
1616) => {
1717 const config = {
1818 sourceDir : androidConfig . sourceDir ,
19- moduleName : args . moduleName ?? '' ,
19+ moduleName : moduleName ?? '' ,
2020 } ;
2121 return config ;
2222} ;
2323
24- export const pluginBrownfieldAndroidPackageAction = async (
25- args : PackageAarFlags ,
26- apiSubset : Pick < PluginApi , 'getProjectRoot' > ,
27- pluginConfig ?: AndroidProjectConfig ,
28- ) => {
24+ export const packageAarAction = async ( {
25+ variant,
26+ moduleName,
27+ projectRoot,
28+ pluginConfig,
29+ } : {
30+ variant : string ;
31+ moduleName : string | undefined ;
32+ projectRoot : string ;
33+ pluginConfig ?: AndroidProjectConfig ;
34+ } ) => {
2935 intro ( 'Creating an AAR file' ) ;
3036
31- const androidConfig = projectConfig ( apiSubset . getProjectRoot ( ) , pluginConfig ) ;
37+ const androidConfig = projectConfig ( projectRoot , pluginConfig ) ;
3238
3339 if ( androidConfig ) {
34- const config = getAarConfig ( args , androidConfig ) ;
35- await packageAar ( config , args ) ;
40+ const config = getAarConfig ( moduleName , androidConfig ) ;
41+ await packageAar ( config , variant ) ;
3642 } else {
3743 throw new RockError ( 'Android project not found.' ) ;
3844 }
3945} ;
4046
41- export const pluginBrownfieldAndroidPublishAction = async (
42- args : PackageAarFlags ,
43- apiSubset : Pick < PluginApi , 'getProjectRoot' > ,
44- pluginConfig ?: AndroidProjectConfig ,
45- ) => {
47+ export const publishLocalAarAction = async ( {
48+ moduleName,
49+ projectRoot,
50+ pluginConfig,
51+ } : {
52+ moduleName : string | undefined ;
53+ projectRoot : string ;
54+ pluginConfig ?: AndroidProjectConfig ;
55+ } ) => {
4656 intro ( 'Publishing AAR' ) ;
4757
48- const androidConfig = projectConfig ( apiSubset . getProjectRoot ( ) , pluginConfig ) ;
58+ const androidConfig = projectConfig ( projectRoot , pluginConfig ) ;
4959
5060 if ( androidConfig ) {
51- const config = getAarConfig ( args , androidConfig ) ;
61+ const config = getAarConfig ( moduleName , androidConfig ) ;
5262 await publishLocalAar ( config ) ;
5363 } else {
5464 throw new RockError ( 'Android project not found.' ) ;
@@ -62,16 +72,27 @@ export const pluginBrownfieldAndroid =
6272 name : 'package:aar' ,
6373 description :
6474 'Produces an AAR file suitable for including React Native app in native projects.' ,
65- action : ( args : PackageAarFlags ) =>
66- pluginBrownfieldAndroidPackageAction ( args , api , pluginConfig ) ,
75+ action : ( args : PackageAarFlags ) => {
76+ return packageAarAction ( {
77+ variant : args . variant ,
78+ moduleName : args . moduleName ,
79+ projectRoot : api . getProjectRoot ( ) ,
80+ pluginConfig,
81+ } ) ;
82+ } ,
6783 options : packageAarOptions ,
6884 } ) ;
6985
7086 api . registerCommand ( {
7187 name : 'publish-local:aar' ,
7288 description : 'Publishes a AAR to local maven repo' ,
73- action : async ( args : PackageAarFlags ) =>
74- pluginBrownfieldAndroidPublishAction ( args , api , pluginConfig ) ,
89+ action : async ( args : PackageAarFlags ) => {
90+ return publishLocalAarAction ( {
91+ moduleName : args . moduleName ,
92+ projectRoot : api . getProjectRoot ( ) ,
93+ pluginConfig,
94+ } ) ;
95+ } ,
7596 options : publishLocalAarOptions ,
7697 } ) ;
7798
0 commit comments