小编Rav*_*ari的帖子

用 kotlin dsl 编写的自定义 gradle 脚本插件导致错误

我正在尝试使用 gradle 设置多项目设置,并尝试使用eclipseIDE 插件生成 eclipse 项目。

下面是我的结构。

rootDir/
|---buildSrc/
    |---src/
        |---main/
            |---gradle/
                |---eclipse.gradle.kts
    |---build.gradle.kts
|---app/
    |---build.gradle.kts
|---models/
    |---build.gradle.kts
|---services/
    |---build.gradle.kts
|---build.gradle.kts
|---settings.gradle.kts

Run Code Online (Sandbox Code Playgroud)

以下是特定文件的内容,例如settings.gradle.ktsbuild.gradle.kts

设置.gradle.kts

rootProject.name = "platform"
include("app", "models", "services")
Run Code Online (Sandbox Code Playgroud)

根目录/build.gradle.kts

...

val buildSrc by extra("$rootDir/buildSrc")

configure(subprojects) {
    apply(from = "$buildSrc/src/main/gradle/eclipse.gradle.kts")
}

Run Code Online (Sandbox Code Playgroud)

rootDir/buildSrc/src/main/gradle/eclipse.gradle.kts


plugins {
    eclipse
}

eclipse {
    project {
        println("Running inside eclipse closure for $name")   
    }
}

Run Code Online (Sandbox Code Playgroud)

当我运行时./gradlew,出现以下错误:

Expression 'eclipse' cannot be invoked as a function. The function 'invoke()' is not …
Run Code Online (Sandbox Code Playgroud)

eclipse gradle kotlin gradle-plugin gradle-kotlin-dsl

5
推荐指数
0
解决办法
1016
查看次数

C++:从(到)文件读取(写入)如果提供,否则回退到 std::cin (std::cout)

我有这个需要。如果提供,则从/向文件读取或写入回退到好朋友std::cin/ std::cout,如下所示:

// pseudo code for problem statement.

int main(int argc, char* argv[]) 
{
  istream reader;
  ostrea writer;
  if (argc > 1) 
  {
    // we have path to our file in argv[] 
    reader = ifstream(infile);
    writer = ofstream(outfile);
  }
  else
  {
    reader = cin;
    writer = cout;
  }
 // rest of code
}

Run Code Online (Sandbox Code Playgroud)

从本质上讲,即使我的想法很复杂,有没有办法实现类似的目标。谢谢!

使用的环境:C++ 11、14、17。

编辑#1:详细说明if条件,如果程序被称为

$: driver "input_file.txt" "output_file.txt"
Run Code Online (Sandbox Code Playgroud)

它应该从这些文件中执行 IO,相反,如果这样调用,

$: driver < "input_file.txt" > "output_file.txt" 
Run Code Online (Sandbox Code Playgroud)

它应该使用std::cinstd::cout …

c++ file-io

0
推荐指数
1
解决办法
27
查看次数