Skip to content

Commit 46e632b

Browse files
authored
[IJ Plugin] Add ApolloGeneratedSourcesFilter (#6030)
1 parent eae588f commit 46e632b

File tree

3 files changed

+30
-6
lines changed

3 files changed

+30
-6
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.apollographql.ijplugin.generatedsources
2+
3+
import com.apollographql.ijplugin.ApolloBundle
4+
import com.apollographql.ijplugin.util.isApolloGenerated
5+
import com.intellij.openapi.project.Project
6+
import com.intellij.openapi.roots.GeneratedSourcesFilter
7+
import com.intellij.openapi.vfs.VirtualFile
8+
9+
class ApolloGeneratedSourcesFilter : GeneratedSourcesFilter() {
10+
override fun isGeneratedSource(file: VirtualFile, project: Project): Boolean {
11+
return file.isApolloGenerated()
12+
}
13+
14+
override fun getNotificationText(file: VirtualFile, project: Project): String? {
15+
return ApolloBundle.message("generatedSourcesFilter.notificationText")
16+
}
17+
}

intellij-plugin/src/main/resources/META-INF/plugin.xml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -190,25 +190,25 @@
190190

191191
<annotator
192192
language="yaml"
193-
implementationClass="com.apollographql.ijplugin.inspection.ApolloGraphQLConfigFilePresentAnnotator"/>
193+
implementationClass="com.apollographql.ijplugin.inspection.ApolloGraphQLConfigFilePresentAnnotator" />
194194

195195
<annotator
196196
language="JSON"
197-
implementationClass="com.apollographql.ijplugin.inspection.ApolloGraphQLConfigFilePresentAnnotator"/>
197+
implementationClass="com.apollographql.ijplugin.inspection.ApolloGraphQLConfigFilePresentAnnotator" />
198198

199199
<annotator
200200
language="TEXT"
201-
implementationClass="com.apollographql.ijplugin.inspection.ApolloGraphQLConfigFilePresentAnnotator"/>
201+
implementationClass="com.apollographql.ijplugin.inspection.ApolloGraphQLConfigFilePresentAnnotator" />
202202

203203
<annotator
204204
language="TypeScript"
205-
implementationClass="com.apollographql.ijplugin.inspection.ApolloGraphQLConfigFilePresentAnnotator"/>
205+
implementationClass="com.apollographql.ijplugin.inspection.ApolloGraphQLConfigFilePresentAnnotator" />
206206

207207
<annotator
208208
language="ECMAScript 6"
209-
implementationClass="com.apollographql.ijplugin.inspection.ApolloGraphQLConfigFilePresentAnnotator"/>
209+
implementationClass="com.apollographql.ijplugin.inspection.ApolloGraphQLConfigFilePresentAnnotator" />
210210

211-
<problemFileHighlightFilter implementation="com.apollographql.ijplugin.inspection.GraphQLConfigFileFilter"/>
211+
<problemFileHighlightFilter implementation="com.apollographql.ijplugin.inspection.GraphQLConfigFileFilter" />
212212

213213
<!-- "Change input class constructor to builder" intention -->
214214
<intentionAction>
@@ -282,6 +282,11 @@
282282
implementation="com.apollographql.ijplugin.refactoring.GraphQLDefinitionRenameProcessor"
283283
order="first"
284284
/>
285+
286+
<!-- Mark Apollo generated sources as generated -->
287+
<generatedSourcesFilter
288+
implementation="com.apollographql.ijplugin.generatedsources.ApolloGeneratedSourcesFilter"
289+
/>
285290
</extensions>
286291

287292
<extensions defaultExtensionNs="com.intellij.lang.jsgraphql">

intellij-plugin/src/main/resources/messages/ApolloBundle.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,3 +235,5 @@ graphql.query.result.statistics={0}: {1} ms execution time, {2} response
235235
graphql.query.result.statistics.error=, {0} {1}
236236
graphql.query.result.statistics.single.error=error
237237
graphql.query.result.statistics.multiple.errors=errors
238+
239+
generatedSourcesFilter.notificationText=Apollo Kotlin generated source files should not be edited. The changes will be lost when sources are regenerated.

0 commit comments

Comments
 (0)