Skip to content

Commit f9473c4

Browse files
willyyhuangkaranA-aws
authored andcommitted
feat(feature dev): Add setting to allow Q to run code and test commands (aws#5077)
Q /dev team is launching a new feature: Allow Q to execute build/test based on customer's configuration 🎉🎉 We have made a couple tweaks to incorporate the user experience - Added a new setting to allow Q to run code and test commands per project - Added a pre-filled prompt option for customer to generate a configuration for this feature - Added a couple follow up buttons throughout the /dev flow and added logic around them - Updated copies - Updated `codefileExtensions` set
1 parent fab42e9 commit f9473c4

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqDoc/session/PrepareDocGenerationState.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.session.Sessio
1717
import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.util.CancellationTokenSource
1818
import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.util.deleteUploadArtifact
1919
import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.util.uploadArtifactToS3
20+
import software.aws.toolkits.jetbrains.settings.CodeWhispererSettings
2021

2122
private val logger = getLogger<PrepareDocGenerationState>()
2223

@@ -39,7 +40,8 @@ class PrepareDocGenerationState(
3940
var zipFileLength: Long? = null
4041
val nextState: SessionState
4142
try {
42-
val repoZipResult = config.repoContext.getProjectZip()
43+
val isAutoBuildFeatureEnabled = CodeWhispererSettings.getInstance().isAutoBuildFeatureEnabled(this.config.repoContext.getWorkspaceRoot())
44+
val repoZipResult = config.repoContext.getProjectZip(isAutoBuildFeatureEnabled = isAutoBuildFeatureEnabled)
4345
val zipFileChecksum = repoZipResult.checksum
4446
zipFileLength = repoZipResult.contentLength
4547
val fileToUpload = repoZipResult.payload

plugins/amazonq/chat/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/amazonqFeatureDev/FeatureDevSessionContextTest.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ import org.mockito.kotlin.mock
1313
import org.mockito.kotlin.whenever
1414
import software.aws.toolkits.jetbrains.services.amazonq.FeatureDevSessionContext
1515
import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.FeatureDevTestBase
16+
import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.session.SessionStateConfig
1617
import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.util.FeatureDevService
18+
import software.aws.toolkits.jetbrains.settings.CodeWhispererSettings
1719
import software.aws.toolkits.jetbrains.utils.rules.HeavyJavaCodeInsightTestFixtureRule
1820
import software.aws.toolkits.jetbrains.utils.rules.addFileToModule
1921
import java.util.zip.ZipFile
@@ -30,12 +32,15 @@ class FeatureDevSessionContextTest : FeatureDevTestBase(HeavyJavaCodeInsightTest
3032
val ruleChain = RuleChain(projectRule, disposableRule)
3133
private lateinit var featureDevSessionContext: FeatureDevSessionContext
3234
private lateinit var featureDevService: FeatureDevService
35+
private lateinit var config: SessionStateConfig
3336

3437
@Before
3538
fun setUp() {
39+
val conversationId = "test-conversation"
3640
featureDevService = mock()
3741
whenever(featureDevService.project).thenReturn(projectRule.project)
3842
featureDevSessionContext = FeatureDevSessionContext(featureDevService.project, 1024)
43+
config = SessionStateConfig(conversationId, featureDevSessionContext, featureDevService)
3944
}
4045

4146
@Test
@@ -85,7 +90,8 @@ class FeatureDevSessionContextTest : FeatureDevTestBase(HeavyJavaCodeInsightTest
8590
"gradle/wrapper/gradle-wrapper.properties",
8691
)
8792

88-
val zipResult = featureDevSessionContext.getProjectZip()
93+
val isAutoBuildFeatureEnabled = CodeWhispererSettings.getInstance().isAutoBuildFeatureEnabled(config.repoContext.getWorkspaceRoot())
94+
val zipResult = featureDevSessionContext.getProjectZip(isAutoBuildFeatureEnabled = isAutoBuildFeatureEnabled)
8995
val zipPath = zipResult.payload.path
9096

9197
val zippedFiles = mutableSetOf<String>()

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/settings/CodeWhispererSettings.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ class CodeWhispererConfiguration : BaseState() {
132132
val intValue by map<CodeWhispererIntConfigurationType, Int>()
133133
val projectAutoBuildConfigurationMap by map<String, Boolean>()
134134
val stringValue by map<CodeWhispererStringConfigurationType, String>()
135+
val projectAutoBuildConfigurationMap by map<String, Boolean>()
135136
}
136137

137138
enum class CodeWhispererConfigurationType {

0 commit comments

Comments
 (0)