Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🛠️ Fix 'No space left on device' #18

Merged
merged 7 commits into from
Jul 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,13 @@ jobs:
with:
cache-default-branch-only: true

# Save the Qodana report
# https://github.com/jetbrains/qodana-action#github-code-scanning
- name: Qodana Report
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: ${{ runner.temp }}/qodana/results/qodana.sarif.json

# Run plugin structure verification along with IntelliJ Plugin Verifier
verify:
name: Verify plugin
Expand Down Expand Up @@ -195,6 +202,13 @@ jobs:
path: ${{ needs.build.outputs.pluginVerifierHomeDir }}/ides
key: plugin-verifier-${{ hashFiles('build/listProductsReleases.txt') }}

# Prevent 'No space left on device'
# https://github.com/jlumbroso/free-disk-space
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false

# Run Verify Plugin task and IntelliJ Plugin Verifier tool
- name: Run Plugin Verification tasks
run: ./gradlew runPluginVerifier -Dplugin.verifier.home.dir=${{ needs.build.outputs.pluginVerifierHomeDir }}
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

- Merge changes from the 1.9.0 version of the IntelliJ plugin template
- Remove the upper bound of the supported IJ versions
- Now the Copy Line Link action may be called even before the indexes have been built

## [1.0.6]

Expand Down
42 changes: 42 additions & 0 deletions buildSrc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

### Mac OS ###
.DS_Store
24 changes: 24 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
plugins {
id("java")
alias(libs.plugins.kotlin)
}

group = "org.lunakoly"
version = "1.0.7"

repositories {
mavenCentral()
}

dependencies {
testImplementation(platform("org.junit:junit-bom:5.9.1"))
testImplementation("org.junit.jupiter:junit-jupiter")
}

tasks.test {
useJUnitPlatform()
}

kotlin {
jvmToolchain(11)
}
9 changes: 9 additions & 0 deletions buildSrc/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// Source:
// https://docs.gradle.org/current/userguide/platforms.html#sec:importing-catalog-from-file
dependencyResolutionManagement {
versionCatalogs {
create("libs") {
from(files("../gradle/libs.versions.toml"))
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
@file:Suppress("unused")

package org.lunakoly.quicklink.helpers

fun <T> pickFirstMiddleAndLast(elements: List<T>) = when {
elements.isEmpty() -> emptySet()
else -> setOf(elements.first(), elements.get(elements.lastIndex / 2), elements.last())
}
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# IntelliJ Platform Artifacts Repositories -> https://plugins.jetbrains.com/docs/intellij/intellij-artifacts.html

pluginGroup = com.github.lunakoly.quicklink
pluginGroup = org.lunakoly.quicklink
pluginName = Quick Link
pluginRepositoryUrl = https://github.com/lunakoly/QuickLink
# SemVer format -> https://semver.org
Expand Down
20 changes: 0 additions & 20 deletions src/main/kotlin/com/github/lunakoly/quicklink/MyBundle.kt

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package com.github.lunakoly.quicklink.actions
package org.lunakoly.quicklink.actions

import com.github.lunakoly.quicklink.repository.getRepositoryInfo
import com.github.lunakoly.quicklink.ui.showClickableListIfNeeded
import com.github.lunakoly.quicklink.ui.toast
import com.github.lunakoly.quicklink.urlbuilder.UrlBuilders
import com.github.lunakoly.quicklink.utils.PopupException
import com.github.lunakoly.quicklink.utils.catchingPopupExceptions
import com.github.lunakoly.quicklink.utils.toDomain
import com.intellij.openapi.actionSystem.AnAction
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.CommonDataKeys
import com.intellij.openapi.ide.CopyPasteManager
import com.intellij.openapi.project.DumbAwareAction
import com.intellij.openapi.vcs.changes.ChangeListManager
import com.intellij.openapi.vfs.VfsUtilCore
import org.lunakoly.quicklink.repository.getRepositoryInfo
import org.lunakoly.quicklink.ui.showClickableListIfNeeded
import org.lunakoly.quicklink.ui.toast
import org.lunakoly.quicklink.urlbuilder.UrlBuilders
import org.lunakoly.quicklink.utils.PopupException
import org.lunakoly.quicklink.utils.catchingPopupExceptions
import org.lunakoly.quicklink.utils.toDomain
import java.awt.datatransfer.StringSelection

class NoProjectException : PopupException(
Expand Down Expand Up @@ -40,17 +40,14 @@ class ModifiedFileException : PopupException(
"Modified File",
)

class CopyLineLinkAction : AnAction() {
class CopyLineLinkAction : DumbAwareAction() {
@Suppress("ThrowsCount")
private fun generateLineLink(event: AnActionEvent) {
val project = event.project
?: throw NoProjectException()
val editor = event.getData(CommonDataKeys.EDITOR)
?: throw NoEditorException()
val currentFile = event.dataContext.getData(CommonDataKeys.VIRTUAL_FILE)
?.let {
it.canonicalFile
}
val currentFile = event.dataContext.getData(CommonDataKeys.VIRTUAL_FILE)?.canonicalFile
?: throw NoActiveFileException()

val lineNumber = 1 + editor.document.getLineNumber(editor.caretModel.offset)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package com.github.lunakoly.quicklink.repository
package org.lunakoly.quicklink.repository

import com.intellij.openapi.vfs.VirtualFile

class RepositoryInfo(
val root: VirtualFile,
@Suppress("unused")
val branch: String?,
val commitHash: String,
val remotes: Map<String, String>,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.github.lunakoly.quicklink.repository
package org.lunakoly.quicklink.repository

import com.github.lunakoly.quicklink.utils.PopupException
import org.lunakoly.quicklink.utils.PopupException
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile
import git4idea.repo.GitRepository
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.github.lunakoly.quicklink.settings
package org.lunakoly.quicklink.settings

import com.github.lunakoly.quicklink.ui.buildLabel
import com.github.lunakoly.quicklink.ui.buildPanel
import com.github.lunakoly.quicklink.ui.buildToolbarDecorator
import com.github.lunakoly.quicklink.ui.components.urlbuilderstable.DomainToServiceTableModel
import com.github.lunakoly.quicklink.ui.components.urlbuilderstable.buildDomainToService
import com.github.lunakoly.quicklink.utils.SingleAssign
import org.lunakoly.quicklink.ui.buildLabel
import org.lunakoly.quicklink.ui.buildPanel
import org.lunakoly.quicklink.ui.buildToolbarDecorator
import org.lunakoly.quicklink.ui.components.urlbuilderstable.DomainToServiceTableModel
import org.lunakoly.quicklink.ui.components.urlbuilderstable.buildDomainToService
import org.lunakoly.quicklink.utils.SingleAssign
import com.intellij.openapi.actionSystem.ActionToolbarPosition
import com.intellij.ui.ToolbarDecorator
import com.intellij.ui.components.JBLabel
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.github.lunakoly.quicklink.settings
package org.lunakoly.quicklink.settings

import com.github.lunakoly.quicklink.utils.isSameAs
import org.lunakoly.quicklink.utils.isSameAs
import com.intellij.openapi.options.Configurable
import javax.swing.JComponent

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package com.github.lunakoly.quicklink.settings
package org.lunakoly.quicklink.settings

import com.github.lunakoly.quicklink.utils.toDomain
import org.lunakoly.quicklink.utils.toDomain
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.components.PersistentStateComponent
import com.intellij.openapi.components.State
import com.intellij.openapi.components.Storage
import com.intellij.util.xmlb.XmlSerializerUtil

@State(
name = "com.github.lunakoly.quicklink.settings.QuickLinkSettingsState",
name = "org.lunakoly.quicklink.settings.QuickLinkSettingsState",
storages = [Storage("QuickLinkSettings.xml")]
)
class QuickLinkSettingsState : PersistentStateComponent<QuickLinkSettingsState> {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
@file:Suppress("unused", "TooManyFunctions")

package com.github.lunakoly.quicklink.ui
package org.lunakoly.quicklink.ui

import com.github.lunakoly.quicklink.ui.components.urlbuilderstable.ServiceComboBoxRenderer
import com.github.lunakoly.quicklink.urlbuilder.UrlBuilders
import org.lunakoly.quicklink.ui.components.urlbuilderstable.ServiceComboBoxRenderer
import org.lunakoly.quicklink.urlbuilder.UrlBuilders
import com.intellij.openapi.ui.ComboBox
import com.intellij.ui.ToolbarDecorator
import com.intellij.ui.components.JBLabel
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.github.lunakoly.quicklink.ui
package org.lunakoly.quicklink.ui

import com.github.lunakoly.quicklink.ui.components.PopupExceptionsList
import org.lunakoly.quicklink.ui.components.PopupExceptionsList
import com.intellij.openapi.editor.Editor
import com.intellij.openapi.project.Project
import com.intellij.openapi.ui.MessageType
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.github.lunakoly.quicklink.ui.components
package org.lunakoly.quicklink.ui.components

import com.github.lunakoly.quicklink.utils.catchingPopupExceptions
import org.lunakoly.quicklink.utils.catchingPopupExceptions
import com.intellij.openapi.ui.popup.PopupStep
import com.intellij.openapi.ui.popup.util.BaseListPopupStep

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package com.github.lunakoly.quicklink.ui.components.urlbuilderstable
package org.lunakoly.quicklink.ui.components.urlbuilderstable

import com.github.lunakoly.quicklink.ui.buildUrlBuildersComboBox
import org.lunakoly.quicklink.ui.buildUrlBuildersComboBox
import com.intellij.ui.table.JBTable
import com.intellij.util.ui.FormBuilder
import javax.swing.DefaultCellEditor

fun FormBuilder.buildDomainToService(setup: JBTable.(DomainToServiceTableModel) -> Unit): JBTable {
fun buildDomainToService(setup: JBTable.(DomainToServiceTableModel) -> Unit): JBTable {
val tableModel = DomainToServiceTableModel()
return JBTable(tableModel).apply {
getColumn("Service").cellEditor = DefaultCellEditor(buildUrlBuildersComboBox())
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.github.lunakoly.quicklink.ui.components.urlbuilderstable
package org.lunakoly.quicklink.ui.components.urlbuilderstable

import com.github.lunakoly.quicklink.ui.buildUrlBuildersComboBox
import com.github.lunakoly.quicklink.urlbuilder.UrlBuilders
import org.lunakoly.quicklink.ui.buildUrlBuildersComboBox
import org.lunakoly.quicklink.urlbuilder.UrlBuilders
import com.intellij.openapi.ui.ComboBox
import com.jetbrains.rd.swing.textProperty
import com.jetbrains.rd.util.reactive.adviseEternal
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.github.lunakoly.quicklink.ui.components.urlbuilderstable
package org.lunakoly.quicklink.ui.components.urlbuilderstable

import com.github.lunakoly.quicklink.urlbuilder.UrlBuilders
import com.github.lunakoly.quicklink.utils.ensureCapacity
import com.github.lunakoly.quicklink.utils.toDomain
import org.lunakoly.quicklink.urlbuilder.UrlBuilders
import org.lunakoly.quicklink.utils.ensureCapacity
import org.lunakoly.quicklink.utils.toDomain
import javax.swing.event.TableModelListener
import javax.swing.table.TableModel

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.github.lunakoly.quicklink.ui.components.urlbuilderstable
package org.lunakoly.quicklink.ui.components.urlbuilderstable

import com.github.lunakoly.quicklink.urlbuilder.UrlBuilders
import org.lunakoly.quicklink.urlbuilder.UrlBuilders
import java.awt.Component
import javax.swing.DefaultListCellRenderer
import javax.swing.JList
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.github.lunakoly.quicklink.ui.components.urlbuilderstable
package org.lunakoly.quicklink.ui.components.urlbuilderstable

import com.github.lunakoly.quicklink.urlbuilder.UrlBuilders
import org.lunakoly.quicklink.urlbuilder.UrlBuilders
import com.intellij.openapi.ui.ComboBox
import java.awt.Component
import javax.swing.JTable
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.github.lunakoly.quicklink.urlbuilder
package org.lunakoly.quicklink.urlbuilder

import com.github.lunakoly.quicklink.repository.RepositoryInfo
import org.lunakoly.quicklink.repository.RepositoryInfo

interface UrlBuilder {
fun buildUrl(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package com.github.lunakoly.quicklink.urlbuilder
package org.lunakoly.quicklink.urlbuilder

import com.github.lunakoly.quicklink.settings.QuickLinkSettingsState
import com.github.lunakoly.quicklink.urlbuilder.implementations.GithubUrlBuilder
import com.github.lunakoly.quicklink.urlbuilder.implementations.GitlabUrlBuilder
import com.github.lunakoly.quicklink.urlbuilder.implementations.SpaceUrlBuilder
import com.github.lunakoly.quicklink.utils.PopupException
import org.lunakoly.quicklink.settings.QuickLinkSettingsState
import org.lunakoly.quicklink.urlbuilder.implementations.GithubUrlBuilder
import org.lunakoly.quicklink.urlbuilder.implementations.GitlabUrlBuilder
import org.lunakoly.quicklink.urlbuilder.implementations.SpaceUrlBuilder
import org.lunakoly.quicklink.utils.PopupException

class UnsupportedUrlFormatException(domain: String) : PopupException(
"Only Github and Gitlab URL's are supported. The selected remote link domain is: '$domain'.",
"Only Github and Gitlab URLs are supported. The selected remote link domain is: '$domain'.",
"Non-Github or Non-Gitlab URL"
)

Expand Down
Loading