小编wht*_*lnv的帖子

将 gradle 依赖替换为本地克隆

我有一个 java 项目,使用 gradle 进行管理,并通过存储库解决了远程依赖关系。

implementation 'org.company:very-big-dependency:2.7.1'
Run Code Online (Sandbox Code Playgroud)

我想克隆该依赖项,处理本地项目并实现新功能。

有没有办法让 gradle 从本地获取依赖项,就像从存储库中获取依赖项一样?

我尝试过将该项目纳入我的settings.gradle

include ':app', ":very-big-dependency"
project(':very-big-dependency').projectDir = new File(settingsDir, '../../very-big-dependency')
Run Code Online (Sandbox Code Playgroud)

并定义了对我的依赖build.gradle

dependencies {
    ...
    implementation project(':very-big-dependency')
Run Code Online (Sandbox Code Playgroud)

但是当我运行buildgradle 时,它​​抱怨找不到依赖项的子项目

A problem occurred evaluating script.
> Project with path ':sub-project' could not be found in project
Run Code Online (Sandbox Code Playgroud)

由于项目在通过存储库解析时正确构建,这告诉我 gradle 在构建本地项目时的行为方式不同。

在本地克隆上调用其自己的构建脚本时,依赖项的项目可以正确构建,测试通过并且一切正常。

我的项目中还有什么需要告诉 gradle 的吗?我还需要对本地依赖项执行其他操作吗?每次我想测试这个时都需要构建一个罐子吗?

笔记:

  • 没有使用 IDE 来处理这个问题
  • 项目是通过创建的gradle init
  • 我尝试导入:sub-project,只是为了得到:
A problem occurred configuring project ':very-big-dependency'.
> Could not get unknown property 'compileJava' for project …
Run Code Online (Sandbox Code Playgroud)

java gradle

8
推荐指数
1
解决办法
2677
查看次数

从参数的返回类型中推断类型

我理解模板不能从赋值中推断出类型,即

template <typename T>
T aFunction (int a) { /*...*/ }; // This obviously won't work
Run Code Online (Sandbox Code Playgroud)

而且很明显为什么.但这奏效:

template <typename T>
T aFunction (T a, T b) { return a + b; }; // a-ok
Run Code Online (Sandbox Code Playgroud)

原因T将从论证中推断出来.我想从中推断一下:

template <typename T>
T aFunction (std::function<T(int)> a) { return a(3);};
                           ^
                           |
  I specified it! ----------
Run Code Online (Sandbox Code Playgroud)

所以当使用时,函数应该做什么没有歧义:

std::function<double(int)> blah = [](int x){ return x / 2.0f; };
aFunction(blah);
Run Code Online (Sandbox Code Playgroud)

唉,编译器不会与我合作:

调用'aFunction'没有匹配的成员函数

候选模板被忽略:无法匹配'function'与'(lambda at file.hpp:274:16)'

有没有办法让这种情况发生?缺少模板特化(这是一个非常通用的类),或者是一个虚拟参数(我不是那么绝望).


PD:

完全披露:以上只是问题的简化,正是我需要的是:

template <typename T> …
Run Code Online (Sandbox Code Playgroud)

c++ gcc c++11 c++14

2
推荐指数
1
解决办法
162
查看次数

可以在没有 Cognito 用户池的情况下使用 AWS Amplify Analytics 吗?

我正在尝试通过 Amplify SDK 将 Pinpoint Analytics 实施到现有的 React Native 应用程序中。我们现有的用户群拥有自己的 authN 和 authZ 实现,因此我们不需要(更重要的是,负担不起)Cognito 用户池。

一方面,Pinpoint API 在记录事件时不需要与 Cognito 进行任何集成,但是amplify 文档auth在使用时似乎需要插件analytics,并且auth在配置 Amplify 时需要一个参数。

Amplify.configure({
    // To get the AWS Credentials, you need to configure 
    // the Auth module with your Cognito Federated Identity Pool
    Auth: {
        identityPoolId: 'us-east-1:xxx-xxx-xxx-xxx-xxx',
        region: 'us-east-1'
    },
    Analytics: {
        // OPTIONAL - disable Analytics if true
        disabled: false,
       ...
Run Code Online (Sandbox Code Playgroud)

有没有办法analytics通过 Amplify使用而不生成用户池?我试过检查 AWS 移动开发工具包,但它们显然已被弃用,现在大多数文档都指向 Amplify。我们可以直接使用 Pinpoint …

aws-pinpoint aws-amplify aws-amplify-cli

2
推荐指数
1
解决办法
999
查看次数

mkdir 在 OS X 上用 C 语言失败并显示波形符?

我正在将一个 C 库移植到 OSX,直到现在这还没有让我很头疼。在下一个函数中:

int createDirectory( char *directory ){

    int error;

    error = mkdir(directory, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);

    if( error < 0 ){

        if( errno != EEXIST ){       

            return errno;                           
        }            
    }

    return error;        
}
Run Code Online (Sandbox Code Playgroud)

无论directory是什么,mkdir()总是失败EPERM(不允许操作)。我不确定 xcode 可执行文件是否已沙箱化,或者我是否丢失了某些内容,但我传递给该函数的每个路径都失败了。

我尝试从终端 mkdir 并且创建文件夹没有问题,所以我不确定问题出在哪里。该函数在 Linux 和 Solaris 中运行良好。

示例路径:

"~/Library/Application\\ Support/myApp"
"~/Desktop/myApp"
Run Code Online (Sandbox Code Playgroud)

第一个是库应创建的目录的实际示例。

c macos errno mkdir

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

使用Prestashop模块将Javascript代码添加到特定页面

我正在开发一个自定义的Prestashop模块.要求很简单:将预定义的javascript代码块添加到购物流程的特定部分.那些是:

  • 主页
  • 产品页面
  • 产品已添加到购物车
  • 购买完成

代码将特定于每个页面.

我已经阅读了模块开发的基础知识,但是我找不到这个特定功能的文档.

我已经有一个可以从后台管理员安装和配置的工作模块.我假设我需要扩展页脚并检查当前正在服务的页面,但我不知道如何执行此操作.

php prestashop

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

标签 统计

aws-amplify ×1

aws-amplify-cli ×1

aws-pinpoint ×1

c ×1

c++ ×1

c++11 ×1

c++14 ×1

errno ×1

gcc ×1

gradle ×1

java ×1

macos ×1

mkdir ×1

php ×1

prestashop ×1